subscribeOn Android UI线程

时间:2017-10-06 11:40:39

标签: android rx-java reactive-programming rx-android rx-java2

我是RxJava的新手,我想我可能会忽略一些非常基本的东西。所以我创建了一个Observable来执行像这样的长时间运行的I / O任务。现在我想确保订阅者在Android UI线程上收到结果:

Observable.create(new ObservableOnSubscribe<Device>() {
    @Override
    public void subscribe(@io.reactivex.annotations.NonNull final ObservableEmitter<Device> e) throws Exception {
        //Long running task
    }
}).subscribeOn(Schedulers.io())

如您所见,我已在Schedulers.io()执行了长时间运行的任务。如何切换回Android UI线程?

1 个答案:

答案 0 :(得分:8)

您必须执行observeOn(AndroidSchedulers.mainThread())