我正在尝试Neo4J Koan Tutorial.我对Koan06 Traversal的介绍非常困惑.方法Node.traversal不赞成使用Traversal.traverse.当我尝试它时,我看到,整个Traversal班级也被弃用了.我阅读文档以找出我应该使用的内容,但找不到任何内容.文档甚至没有提到Traversal已弃用(当然,Traversal方法也是如此,traverse并且description在没有明确的情况下也被弃用).
简单的问题:我应该用什么来建立一个TraversalDescription?
我有一个小的WebApp,它由一个小表单组成,用户必须输入一些凭据,并将其发布到我的瓶子应用程序.输入得到验证(通过一堆sql调用),如果一切正常,他会收到一封邮件.问题是:运行服务器后一切都很好单元我得到这样的错误:
Traceback (most recent call last): File "/usr/local/lib/python2.7/SocketServer.py", line 295, in
_handle_request_noblock
self.process_request(request, client_address) File "/usr/local/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address) File "/usr/local/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self) File "/usr/local/lib/python2.7/SocketServer.py", line 651, in __init__
self.finish() File "/usr/local/lib/python2.7/SocketServer.py", line 710, in finish
self.wfile.close() File "/usr/local/lib/python2.7/socket.py", line 279, in close
self.flush() File "/usr/local/lib/python2.7/socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
Run Code Online (Sandbox Code Playgroud)
我GET和POST侧面的功能看起来像这样:
@get("/myroute")
def show_form():
form = CreateVoucherForm()
return generate_form(form)
@post("/myroute")
def validate_storno(): …Run Code Online (Sandbox Code Playgroud) 如果按下按钮,我会尝试切换按钮的背景.我建立了一个选择器,就像这里建议的答案:标准Android按钮具有不同的颜色
最后我想把GradientDrawables放在里面,但出于调试目的我只想设置一个颜色,看看它是否正常工作.这是我的选择器
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/red"/>
<item
android:state_focused="true"
android:drawable="@color/white"/>
<item
android:state_pressed="true"
android:drawable="@color/white"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.我从我的按钮中将选择器设置为背景,并且只能看到它们的红色.我做错了什么(Build Target 2.1)
首先,我不得不承认,我知道接受所有证书可以被视为没有安全性.我们有"真正的"Certs,但仅限于我们的现场系统.我们的测试系统上的证书是自签名的.因此,只要我们开发,我们必须使用测试服务器,这迫使我去禁用证书.
我在Stackoverflow上看到了很多关于这些问题的东西,而且整个网络都在尝试做同样的事情:接受SSL证书.然而,这些答案似乎都不适用于我的问题,因为我并没有搞砸HTTPSUrlConnections.
如果我正在请求代码通常看起来像这样(注释清除):
//creates an HTTP-Post with an URL
HttpPost post = createBaseHttpPost();
//loads the request Data inside the httpPost
post.setEntity(getHttpPostEntity());
//appends some Headers like user-agend or Request UUIDs
appendHeaders(post);
HttpClient client = new DefaultHttpClient();
//mResponse is a custom Object which is returned
//from the custom ResponseHandler(mResponseHandler)
mResponse = client.execute(post, mResponseHandler);
return mResponse;
Run Code Online (Sandbox Code Playgroud)
我读,我应该注入我自己TrustManager和X509HostnameVerivier.我创建了这样的:
private static final TrustManager[] TRUST_ALL_CERTS = new TrustManager[]{
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[]{};
}
public …Run Code Online (Sandbox Code Playgroud) 我正在努力ExpectedExceptions为JUnit 工作.我已经尝试了这个:
public class ExpectedTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test
public void test() {
thrown.expect(NullPointerException.class);
throw new NullPointerException();
}
}
Run Code Online (Sandbox Code Playgroud)
这引起了我以下异常:
java.lang.NoClassDefFoundError:org/hamcrest/TypeSafeMatcher,位于java.security.ClassLoader.defineClass(ClassLoader.java:800)的java.lang.ClassLoader.defineClass1(Native Method),位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java) :142)java.net.URLClassLoader.accessClass(URLClassLoader.java:449)java.net.URLClassLoader.access $ 100(URLClassLoader.java:71)java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)java.security.AccessController.doPrivileged(Native Method),java.net.URLClassLoader.findClass(URLClassLoader.java:354),位于java.lang.ClassLoader.位于org.junit.matchers.JUnitMatchers.isThrowable的java.lang.ClassLoader.loadClass(ClassLoader.java:358)sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:309)的loadClass(ClassLoader.java:425) (JUnitMatchers.java:103)在org.junit.rules.ExpectedException的org.junit.rules.ExpectedExceptionMatcherBuilder.build(ExpectedExceptionMatcherBuilder.java:27).handleOception(ExpectedException.java:198)org.junit.rules.ExpectedException.access $ 500(ExpectedException.java:85)org.junit.rules.ExpectedException $ ExpectedExceptionStatement.evaluate(ExpectedException.java:177)org.junit.在org.junit的org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)的org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)上的rules.RunRules.evaluate(RunRules.java:20) .runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)org.junit.runners.ParentRunner $ 3.run(ParentRunner.java:238)at org.junit.runners.ParentRunner $ 1.schedule(ParentRunner.java:63)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)org.junit.runners.ParentRunner.access $ 000(ParentRunner.java:53)org.junit.runners.ParentRunner $ 2.evaluate(ParentRunner.java: 229)在org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)的org.junit.runners.ParentRunner.run(ParentRunner.java:309)在org.eclipse上的org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)位于org.eclipse.jdt.internal的org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)的.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) .junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)由java.net中的java.net.URLClassLoader $ 1.run(URLClassLoader.java:366)引起的java.lang.ClassNotFoundException:org.hamcrest.TypeSafeMatcher. URLClassLoader $ 1.run(URLClassLoader.java:355)在java.security.AccessController.doPrivileged(Native Method)java.net.URLClassLoader.findClass(URLClassLoader.java:354)java.lang.ClassLoader.loadClass(ClassLoader.java) :425)at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)at java.lang.ClassLoader.loadClass(ClassLoader.java:358)... 33更多
当我这样做时:
public class ExpectedTest {
@Rule
public ExpectedException thrown;
@Before
public void …Run Code Online (Sandbox Code Playgroud) 我创建了一个androidLibrary包含一些Volley请求类的项目,并希望为其中一些请求编写单元测试.
我这样做了一百次,经过几次尝试后它以某种方式工作,但从未在第一次尝试.
如果我通过androidStudio试试这个
右键单击项目 - >新建 - > Android资源目录
您可以在sourceSets"main","debug"和"release"之间进行选择.没有androidTest选择.
如果我手动尝试,添加以下文件夹[moduleName]/src/androidTest/res/raw
并将文件放入其中(比如说image.jpg),我没有得到参考文件R.raw.image.事实上,我根本没有访问R.raw我的测试.
我还尝试了Build-> rebuild项目或Build-> clean但没有成功.
在其他项目中,我有一个my.app.namespace.R沿my.app.namespace.test.R其持有的所有测试资源.
所以我的问题是:为了将res文件夹添加到我的androidTest,我需要做什么,可以通过R.[folder].[resId]?
添加文件后我是否错过了关键步骤(即明确告诉gradle)?
因为在我这样添加这样的标签build.gradle似乎没有任何区别:
android {
sourceSets {
androidTest {
java.srcDirs = ['src/androidTest/java']
res.srcDirs = ['src/androidTest/res']
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果重要我正在使用:
android unit-testing gradle android-resources android-studio
由于Android在有关文件访问的不同主要版本之间非常不一致,因此我感到有些失落。我尝试尽可能简单地描述问题:
我的公司使用商业本地DRM保护我们提供的其他本地库。我们有一个许可应用程序,该应用程序调用了一些Voodoo来结束/ sdcard / companyname / LicenseContainer /中的许可文件。其他受保护的应用程序以本机代码查看此目录,检查用户是否具有有效的许可证。
但是,Android 10更新仅提供,使该工作流程完全无效scoped storage access。我们可以使用一种方法Storage Manager来授予访问权限,不幸的是,现在也已弃用该方法。
所以我的问题是:一个应用程序如何将文件保存到/ sdcard / FOLDER上的某个位置
对于所有可能的解决方案(SAF,FileProvider等),我有点不知所措,这些解决方案通常会调用一个应用程序将权限授予另一个应用程序的权限。但是,如果没有安装的第一个应用程序将文件放到那里,则应该可以访问这些文件。
我知道必须有解决方案,因为最近的FileManagers(即Files by Google)可以访问整个/sdcard/目录。
在不调用“黑客”之类的情况下,最简单,最适合未来的路线是什么 android:requestLegacyExternalStorage="true"
android file android-fileprovider storage-access-framework scoped-storage
我有一个LayerDrawable,它应该显示5个位图.1个背景和4个图标(对于每个LayerDrawable可以是不同的),如Grid.不幸的是,这些图标的宽度与高度不同.我的问题是调整它们的大小,同时保持它们的比例并将它们置于其位置(1-4个图标,5个背景):
==================
| | | |
| 1 | | 2 |
|------.5 .------|
|------. .------|
| 3 | | 4 |
| | | |
==================
Run Code Online (Sandbox Code Playgroud)
如果我调整这些位图的大小,给它们Gravity.CENTER它们将不再适合背景矩形的边界.如果我离开,Gravity.CENTER他们似乎会在我打电话后立即重新调整layerDrawable.setLayerInset(numlayer, left, top, right, bottom).做正确的方法是什么?如何在正确放置时保持比例?到目前为止我还无法理解的是为什么来自BitmapDrawable的getIntrinsicWidth/Height返回的东西(小于)来自原始Bitmap的getWidth/Height.
我尝试了什么:
1.从XML中获取它们,在内部放置一个"虚拟绘图"并用上述结果替换它.2.在我的程序中创建LayerDrawable,传递所有drawables.似乎setLayerInset没有任何影响,或者我只看到背景(我的可绘制数组中的元素0)
3.扩展LayerDrawable并尝试自己跟踪任何事情而没有合理的结果
我试图理解Forward()pyparsing中的元素.假设我有这个简单的BNF:
identifier =
"a..z,$,_" < "a..z,$,_,0..9" >
package_name =
identifier
/ ( package_name "." identifier )
Run Code Online (Sandbox Code Playgroud)
我尝试解析一个简单的包,就像java.lang.String我得到的java结果或永远不会从递归返回.我试过这样的:
from pyparsing import alphas,alphanums, Word, Forward, ZeroOrMore, Group, Literal
identifier=Word(alphas+"$_",alphanums+"$_")
dot=Literal(".")
package_name = Forward()
definition = package_name+dot+identifier
package_name << Group(identifier+ZeroOrMore(definition))
package_name.parseString("java.lang.String")
Run Code Online (Sandbox Code Playgroud)
将打印[['java']]
from pyparsing import alphas,alphanums, Word, Forward, ZeroOrMore, Group, Literal
identifier=Word(alphas+"$_",alphanums+"$_")
dot=Literal(".")
package_name = Forward()
definition = identifier^package_name+dot+identifier
package_name << definition
package_name.parseString("java.lang.String")
Run Code Online (Sandbox Code Playgroud)
将达到递归限制
这个Forward占位符是如何工作的?
我想从命令行构建一个Android项目,并希望将该android.library=true标志添加到project.properties.我也想用androidsdk中的命令来做,而不是手动将它添加到文件中,因为文件名和属性名可能会改变.
该命令android update lib-project -p PATH不再添加此标志.
该命令android create lib-project ...会"添加"此标志,但会覆盖某些文件,如字符串资源
所以我的问题是:使用该android工具可以创建一个将此android.library标志设置为true的project.properties,并且不会做更多的事情吗?
有什么区别android update project和android update lib-project旁边我不能在lib-project中使用一些标志?