小编Any*_*324的帖子

interval()和repeatWhen()之间的区别,用于从间隔中的Observable进行轮询

之间有什么区别:

Observable<String> observable = Observable
        .interval(0, 1, TimeUnit.SECONDS)
        .flatMap(new Func1<Long, Observable<String>>() {
            @Override
            public Observable<String> call(Long aLong) {
                return Observable.just("MyString");
            }
        })
Run Code Online (Sandbox Code Playgroud)

和:

Observable<String> observable = Observable.just("MyString")
        .repeatWhen(new Func1<Observable<? extends Void>, Observable<?>>() {
            @Override
            public Observable<?> call(Observable<? extends Void> completed) {
                return completed.delay(1, TimeUnit.SECONDS);
            }
        })
Run Code Online (Sandbox Code Playgroud)

第二个是更清洁但实际上并考虑到背压,这两种解决方案的行为方式是否相同?

rx-java

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

如何处理JodaTime和Android的时区数据库差异?

我想在昨天开始讨论我在Reddit Android Dev社区开始讨论的一个新问题:如何使用JodaTime库在已经过时的信息设备上管理应用程序附带的最新时区数据库?

问题

手头的具体问题涉及特定的时区,"欧洲/加里宁格勒".我可以重现这个问题:在Android 4.4设备上,如果我手动将其时区设置为上述时间,则呼叫new DateTime()会将此DateTime实例设置为手机状态栏上显示的实际时间前一小时的时间.

我创建了一个示例Activity来说明问题.在它上面onCreate()我称之为:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ResourceZoneInfoProvider.init(getApplicationContext());

    ViewGroup v = (ViewGroup) findViewById(R.id.root);
    addTimeZoneInfo("America/New_York", v);
    addTimeZoneInfo("Europe/Paris", v);
    addTimeZoneInfo("Europe/Kaliningrad", v);
}

private void addTimeZoneInfo(String id, ViewGroup root) {
    AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    am.setTimeZone(id);
    //Joda does not update its time zone automatically when there is a system change
    DateTimeZone.setDefault(DateTimeZone.forID(id));

    View v = getLayoutInflater().inflate(R.layout.info, root, false);

    TextView idInfo = (TextView) v.findViewById(R.id.id);
    idInfo.setText(id);

    TextView …
Run Code Online (Sandbox Code Playgroud)

timezone datetime android date jodatime

5
推荐指数
1
解决办法
3291
查看次数

标签 统计

android ×1

date ×1

datetime ×1

jodatime ×1

rx-java ×1

timezone ×1