在使用gradle构建项目时,我收到了很多这些警告.我看到/sf/answers/1105625531/,但我不清楚如何沉默这些.这听起来像我依赖的这些东西的任何版本都被剥离出来支持android.jar中打包的版本.
我想这没关系,但我真的想关闭它们,以便我看到的东西只是真正的问题.
所以,具体来说,我很好奇:
WARNING: Dependency commons-logging:commons-logging:1.1.1 is ignored for debug as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
WARNING: Dependency commons-logging:commons-logging:1.1.1 is ignored for debug as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
WARNING: Dependency commons-logging:commons-logging:1.1.1 is …Run Code Online (Sandbox Code Playgroud) 我试过推荐的
setSpeakerphoneOn(true)
Run Code Online (Sandbox Code Playgroud)
而且不推荐
AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER);
Run Code Online (Sandbox Code Playgroud)
但都没有奏效.
我试过了
setWiredHeadsetOn(false)
Run Code Online (Sandbox Code Playgroud)
但这也不起作用,并且已被弃用.
有趣的是,
isSpeakerphoneOn()
Run Code Online (Sandbox Code Playgroud)
报告也是如此
isWiredHeadsetOn()
Run Code Online (Sandbox Code Playgroud)
此外,还设置了以下权限
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Run Code Online (Sandbox Code Playgroud) 一些第三方库使用钩子进入活动生命周期才能正常工作 - 例如,Facebook SDK(https://developers.facebook.com/docs/android/login-with-facebook/).
我在弄清楚如何使用单活动流+砂浆设置干净地协调这个模型时遇到了一些麻烦.
例如,如果我想使用Facebook登录作为登录流程的一部分(带有FlowView/FlowOwner),而不是活动中的其他内容,如果您需要在onCreate中为该特定流程挂钩,那么最明智的方法是将其解除, onResume,onPause,onDestroy,onSaveInstanceState,onActivityResult等?
最明确的路径是什么并不是很明显 - 为每个生命周期活动阶段创建一个observable并订阅它的流程?如果您不小心,似乎该路径会快速转移到相同的Android生命周期.有没有更好的办法?
我喜欢单一的活动模型,如果可能的话,我真的希望保持一切由流/迫击炮管理,而不是活动.或者我是否以一种从根本上使其变得更加困难的方式来思考这个问题?
是否有合理的方式与毕加索做圆角
大多数关于圆角的毕加索建议都建议使用转换,但我没有看到一个例子,它不会在转换过程中创建额外的位图.
这似乎是因为Picasso只使用位图,而使用圆角的技巧使用了这样一个事实:你可以合理有效地动态绘制圆角(大多数解决方案使用类似于http://www.curious-creature的内容. org/2012/12/11/android-recipe-1-image-with-rounded-corners /).
通过将ImageView的类型更改为采用自定义drawable的东西,可以将Volley的类型更改为圆形角落.由于Picasso需要位图(至少,只有位图 - >位图转换),所以这是不对的,因为drawable转换为位图会在过程中创建一个位图.
一个解决方案就是在我自己的分支中修改毕加索的工作,它添加了一个位图 - >可绘制的变换,但我想有更好的方法来解决这个问题.
我不想在视图顶部绘制9个补丁以给出圆角的外观.
我熟悉正常的多态反序列化内容,您可以根据某个字段的字符串值反序列化对象.例如:
@JsonSubTypes(
{
@JsonSubTypes.Type(value = LionCage.class, name = "LION"),
@JsonSubTypes.Type(value = TigerCage.class, name = "TIGER"),
}
)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
Run Code Online (Sandbox Code Playgroud)
如果传入对象的"type"字段是整数而不是字符串,有什么方法可以做同样的事情吗?所以在上面的例子中,"LION"和"TIGER"将是1和2.无论出于何种原因,我都无法弄清楚这一点.
另外,我应该如何解决这个问题?似乎它应该是明显的东西.
如何通过xpath选择文档中具有键入给定值的所有输入元素.
例如,如果我去谷歌并输入"hello world",我如何获得所有输入"hello world"的输入标签?
玩下面的东西没有得到回报,因为文本字段中的值实际上不是文档的一部分.
document.evaluate("//input[text() = 'hello world']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
Run Code Online (Sandbox Code Playgroud)
应该很简单,但我很惊讶.
我有一个自定义视图组,我根据触摸事件(例如拖放)在屏幕上制作动画.
我希望它能够略微超出界限,并且仍然可以平滑地制作动画.
我尝试在拖动视图上设置setLayerType(LAYER_TYPE_HARDWARE,null),并且性能很好,但是边界之外的任何内容都被剪裁了.
我尝试设置LAYER_TYPE_NONE,性能仍然很好,但是有拖动视图的动画重影/条纹(好像它正在模糊屏幕).
在Moto X和Nexus 4上试过这个,结果相同.
什么是最好的方法来解决这个问题?setClipChildren(false)应该与LAYER_TYPE_HARDWARE一起使用吗?有趣的是,LAYER_TYPE_SOFTWARE表现出与LAYER_TYPE_HARDWARE相同的意外剪辑.
感觉就像我在这里遗漏了一些东西,但我曾经在那里做过:
Schedulers.io().schedule(new Action1<Scheduler.Inner>() {
@Override
public void call(Scheduler.Inner inner) {
doWhatever();
}
});
Run Code Online (Sandbox Code Playgroud)
我似乎无法简单地使用调度程序来运行后台任务,而无需管理unsubscribes(https://github.com/Netflix/RxJava/wiki/Scheduler和https://github.com/Netflix/ RxJava/blob/master/rxjava-core/src/main/java/rx/Scheduler.java).
是否存在0.18的模式,允许我轻松地运行,无需跟踪工人,取消订阅等?
好像你可以这样做:
final Worker worker = Schedulers.io().createWorker();
worker.schedule(new Action0() {
@Override
public void call() {
doWhatever();
worker.unsubscribe();
}
});
Run Code Online (Sandbox Code Playgroud)
但这似乎更多的工作,(特别是对于android.mainThread调度程序).
我错过了什么?
我有一个没有指定launchMode的活动A,它使用Facebook SDK登录.
活动A启动活动B,即启动模式singleTop.
不知何故,我在简历中定期遇到这个错误,在极少数情况下.
关于这可能是什么的任何想法?如果我没有从指定了启动模式的任何活动进行任何Facebook SDK调用,我并不完全理解我是如何做到的.我在这个错误上运行的所有其他内容涉及对此错误文本的非常简单的解释,这似乎不是.
这只发生在Resume上.为了更加清楚,在活动的正常过程中,一切正常,Facebook登录窗口启动正常,等等.
在我的清单中我确实有:
<activity android:name="com.facebook.LoginActivity"/>
Run Code Online (Sandbox Code Playgroud)
以及发起活动
<activity android:name="mypackage.login.SocialLoginActivity" android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)
错误文字:
java.lang.RuntimeException: Unable to resume activity {mypackage/com.facebook.LoginActivity}: com.facebook.FacebookException: Cannot call LoginActivity with a null calling package. This can occur if the launchMode of the caller is singleInstance.
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2639)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2667)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2140)
at android.app.ActivityThread.access$700(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: com.facebook.FacebookException: Cannot call LoginActivity with a null calling package. This can …Run Code Online (Sandbox Code Playgroud)