subscribeOn Android UI线程

Dhr*_*iya 3 android reactive-programming rx-java 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())
Run Code Online (Sandbox Code Playgroud)

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

azi*_*ian 9

你必须表演observeOn(AndroidSchedulers.mainThread()).

  • 你必须在gradle文件中导入[`RxAndroid`](https://github.com/ReactiveX/RxAndroid):`compile'io.reactivex.rxjava2:rxandroid:2.0.1'` (2认同)