小编bco*_*rso的帖子

rxJava调度程序用例

在RxJava中有5种不同的调度程序可供选择:

  1. immediate():创建并返回一个在当前线程上立即执行工作的Scheduler.

  2. trampoline():创建并返回一个调度程序,该调度程序对当前工作完成后要执行的当前线程进行排队.

  3. newThread():创建并返回一个Scheduler,为每个工作单元创建一个新的Thread.

  4. computation():创建并返回用于计算工作的Scheduler.这可以用于事件循环,处理回调和其他计算工作.不要在此调度程序上执行IO绑定的工作.使用调度程序.io()代替.

  5. io():创建并返回一个用于IO绑定工作的Scheduler.该实现由Executor线程池支持,该线程池将根据需要增长.这可用于异步执行阻塞IO.不要在此调度程序上执行计算工作.使用调度程序.计算()而不是.

问题:

前3个调度程序非常自我解释; 但是,我对计算io有点困惑.

  1. 究竟什么是"IO限制工作"?它用于处理streams(java.io)和files(java.nio.files)吗?它用于数据库查询吗?它是用于下载文件还是访问REST API?
  2. 如何计算()从不同newThread() ?是每次所有的calculate()调用都在单个(后台)线程而不是新的(后台)线程上吗?
  3. 为什么在进行IO工作时调用calculate()会很糟糕?
  4. 为什么在进行计算工作时调用io()会很糟糕?

java multithreading thread-safety rx-java rx-android

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

放置gradle.properties文件的位置

我正在遵循Artifactory 1分钟的设置.我在我的localhost上运行了Artifactory,现在我正在尝试将它与Intellij/Gradle集成.

在Web应用程序artifactory的给出了一个gradle.propertiesbuild.gradle文件,所以我想先从增加这些对我的IntelliJ项目.但是,我不知道把gradle.properties文件放在哪里.

我尝试复制gradle.properties内容(键=值对)gradle/wrapper/gradle-wrapper.properties,遗憾的是这样做不会使build.gradle文件中的密钥可访问.有任何想法吗?

intellij-idea artifactory gradle

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

Dagger 2每个片段的自定义范围(或活动等...)

我看了几篇不同的文章,似乎提出了在Dagger 2中进行自定义范围的两种不同方式:

  1. 存活配置改变第2部分的MVP演示者(Github repo):

    • 采用独特的定制范围的每个片段,例如@Hello1Scope@Hello2ScopeHello1FragmentHello2Fragment分别
  2. 在Android上品尝Dagger 2:

    • 对所有片段使用单个自定义范围,例如@PerFragment.

根据我的理解,似乎在方法2中,定义一个可用于所有片段(即@PerFragment)的单一范围应该是可以的.事实上(如果我错了请纠正我),似乎自定义范围的名称是无关紧要的,并且它只是创建子组件(即在应用程序,活动或片段中)的重要部分.

是否有任何用例来定义每个片段的唯一范围,例如在案例1中?

android android-fragments dagger-2

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

Android Studio Gradle新增"应用插件"

我为Gradle阅读的所有教程都解释说该build.gradle文件应该包含:

apply plugin: 'android'
Run Code Online (Sandbox Code Playgroud)

要么

apply plugin: 'android-library'
Run Code Online (Sandbox Code Playgroud)

但是,我刚刚用Android Studio 0.8.6构建了一个新项目,build.gradle现在我已经:

apply plugin: 'com.android.application'
Run Code Online (Sandbox Code Playgroud)
  1. 它纯粹是语法变化还是有更深层次的目的?
  2. 创建android库的新语法是什么?

android android-library android-gradle-plugin

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

jq 子字符串给出“jq:错误:无法用对象索引字符串”

问题

我正在尝试过滤json JQ结果以仅显示原始字符串的子字符串。例如,如果 JQ 过滤器抓取了该值

4ffceab674ea8bb5ec421c612536696839bbaccecf64e851dfc270d795ee55d1
Run Code Online (Sandbox Code Playgroud)

我希望它只返回前 10 个字符4ffceab674


我尝试过的

JQ 官方网站上,您可以找到一个可以满足我需要的示例:

Command:    jq '.[2:4]'

Input:      "abcdefghi"
Output:     "cd"
Run Code Online (Sandbox Code Playgroud)

我尝试在 unix 终端中使用一个简单的示例来测试这一点:

# this works fine, => "abcdefghi"
echo '"abcdefghi"' | jq '.'

# this doesn't work => jq: error: Cannot index string with object
echo '"abcdefghi"' | jq '.[2:4]'
Run Code Online (Sandbox Code Playgroud)

parsing substring jq

6
推荐指数
1
解决办法
5371
查看次数

在Galaxy S5上遇到FOCUS_MODE_CONTINUOUS_PICTURE问题

我正在开发一款使用相机预览和拍照的Android应用.我使用FOCUS_MODE_CONTINUOUS_PICTURE星系S4,发现聚焦效果非常好.

然而,在银河系S5上,FOCUS_MODE_CONTINUOUS_PICTURE很少能够正确地找到焦点.相机将变焦,但会反复缩小焦距.

有没有人知道为什么FOCUS_MODE_CONTINUOUS_PICTURES5上的工作如此糟糕,或者任何人都可以确认他们是否有同样的问题?

camera android android-camera

6
推荐指数
1
解决办法
5759
查看次数

Android嵌套片段片段交互

用于片段片段交互的Android最佳实践(此处此处描述)强制Activity实现由子片段定义的侦听器.所述Activity然后管理片段之间的通信.

根据我的理解,这是为了保持碎片彼此松散耦合.然而,

  1. 嵌套片段也是如此吗?我可以想象,嵌套片段直接报告它的父片段而不是活动可能是有意义的.

  2. 如果嵌套片段的父片段实现了它的监听器,那么一个(或者应该一个)如何要求父片段执行此操作.换句话说,是类似于以下的范例,但是Fragments:

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
    
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

android android-fragments android-activity

6
推荐指数
1
解决办法
2302
查看次数

没有xml的动画片段

我正在寻找一种方法来在不使用 xml 的情况下为片段的过渡设置动画。

动画片段的典型方法是将 xml 动画器与片段一起传递给FragmentTransaction.setCustomAnimations(例如,请参见/sf/answers/345531161/

相反,我想发送setCustomAnimations一个ObjectAnimator应用于片段,但遗憾的是这不是一个选项。

关于如何实现这一点的任何想法?

xml animation android android-fragments objectanimator

6
推荐指数
1
解决办法
666
查看次数

闪亮的RGL Plot3D:在重绘图上保持绘图视图方向

每当我在RGL plot3D上进行重新绘图时,都会导致绘图的视图方向重置为默认值.

有谁知道如何保存这些设置,以便我可以在重绘图后重新应用它们.我试过这个:

# save settings
pp <- par3d(no.readonly=TRUE)

# initialize plot
plot3d(c(), c(), c(), "", "", "")

# Replot data here
# ...

# restore settings
par3d(pp)
Run Code Online (Sandbox Code Playgroud)

但是,这并没有恢复情节方向.

编辑:打印出par3d()的结果显示,当绘图旋转和缩放时,值没有得到更新,所以我猜这是问题所在.如果人们已经将它与rgl一起使用,那么它可能仅适用于ShinyRGL.

plot r rgl shiny

6
推荐指数
1
解决办法
950
查看次数

Java类的单元测试和源代码

我很想知道Java如何测试它的API.让我们说,我对ConcurrentHashMap类感兴趣,这个类会有任何单元测试吗?如果是这样,它是否可供公众使用?

java

6
推荐指数
2
解决办法
1218
查看次数