小编sec*_*oot的帖子

发布时会忽略Android依赖项

在使用gradle构建项目时,我收到了很多这些警告.我看到/sf/answers/1105625531/,但我不清楚如何沉默这些.这听起来像我依赖的这些东西的任何版本都被剥离出来支持android.jar中打包的版本.

我想这没关系,但我真的想关闭它们,以便我看到的东西只是真正的问题.

所以,具体来说,我很好奇:

  1. 这是否表明存在问题?似乎绝对不是.
  2. 我怎么关闭它?
  3. 不是每个人都看到这套警告吗?我怀疑使用gradle + android.Log的整个人群正在看到这组警告.
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)

android

44
推荐指数
2
解决办法
2万
查看次数

插入耳机时有没有办法强制通过扬声器播放音频?

我试过推荐的

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)

android

26
推荐指数
1
解决办法
3万
查看次数

Mortar + Flow与第三方库挂钩到活动生命周期

一些第三方库使用钩子进入活动生命周期才能正常工作 - 例如,Facebook SDK(https://developers.facebook.com/docs/android/login-with-facebook/).

我在弄清楚如何使用单活动流+砂浆设置干净地协调这个模型时遇到了一些麻烦.

例如,如果我想使用Facebook登录作为登录流程的一部分(带有FlowView/FlowOwner),而不是活动中的其他内容,如果您需要在onCreate中为该特定流程挂钩,那么最明智的方法是将其解除, onResume,onPause,onDestroy,onSaveInstanceState,onActivityResult等?

最明确的路径是什么并不是很明显 - 为每个生命周期活动阶段创建一个observable并订阅它的流程?如果您不小心,似乎该路径会快速转移到相同的Android生命周期.有没有更好的办法?

我喜欢单一的活动模型,如果可能的话,我真的希望保持一切由流/迫击炮管理,而不是活动.或者我是否以一种从根本上使其变得更加困难的方式来思考这个问题?

android mortar square-flow

16
推荐指数
2
解决办法
2914
查看次数

与毕加索的圆角

是否有合理的方式与毕加索做圆角

  1. 不会显着减慢绘图速度
  2. 适用于硬件层
  3. 不为每个图像创建额外的位图
  4. 允许将下载的位图大小调整为目标imageview的大小

大多数关于圆角的毕加索建议都建议使用转换,但我没有看到一个例子,它不会在转换过程中创建额外的位图.

这似乎是因为Picasso只使用位图,而使用圆角的技巧使用了这样一个事实:你可以合理有效地动态绘制圆角(大多数解决方案使用类似于http://www.curious-creature的内容. org/2012/12/11/android-recipe-1-image-with-rounded-corners /).

通过将ImageView的类型更改为采用自定义drawable的东西,可以将Volley的类型更改为圆形角落.由于Picasso需要位图(至少,只有位图 - >位图转换),所以这是不对的,因为drawable转换为位图会在过程中创建一个位图.

一个解决方案就是在我自己的分支中修改毕加索的工作,它添加了一个位图 - >可绘制的变换,但我想有更好的方法来解决这个问题.

我不想在视图顶部绘制9个补丁以给出圆角的外观.

android picasso

12
推荐指数
3
解决办法
1万
查看次数

Jackson对整数字段而不是字符串进行多态反序列化

我熟悉正常的多态反序列化内容,您可以根据某个字段的字符串值反序列化对象.例如:

@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.无论出于何种原因,我都无法弄清楚这一点.

另外,我应该如何解决这个问题?似乎它应该是明显的东西.

java json jackson

10
推荐指数
1
解决办法
1065
查看次数

通过xpath获取具有给定文本值的input标记元素

如何通过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)

应该很简单,但我很惊讶.

xpath

9
推荐指数
1
解决办法
3万
查看次数

setClipChildren和硬件层

我有一个自定义视图组,我根据触摸事件(例如拖放)在屏幕上制作动画.

我希望它能够略微超出界限,并且仍然可以平滑地制作动画.

我尝试在拖动视图上设置setLayerType(LAYER_TYPE_HARDWARE,null),并且性能很好,但是边界之外的任何内容都被剪裁了.

我尝试设置LAYER_TYPE_NONE,性能仍然很好,但是有拖动视图的动画重影/条纹(好像它正在模糊屏幕).

在Moto X和Nexus 4上试过这个,结果相同.

什么是最好的方法来解决这个问题?setClipChildren(false)应该与LAYER_TYPE_HARDWARE一起使用吗?有趣的是,LAYER_TYPE_SOFTWARE表现出与LAYER_TYPE_HARDWARE相同的意外剪辑.

android android-animation

7
推荐指数
1
解决办法
2315
查看次数

在0.18中,后台任务如何在调度程序上执行?

感觉就像我在这里遗漏了一些东西,但我曾经在那里做过:

    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/Schedulerhttps://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调度程序).

我错过了什么?

rx-java

2
推荐指数
1
解决办法
2785
查看次数

Facebook登录 - 无法使用null调用包调用LoginActivity

我有一个没有指定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)

android facebook

-1
推荐指数
1
解决办法
3735
查看次数