一、准备工作
build.gradle导入Rxjava 资源
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
...
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.x.x'
...
}
二、应用场景示例:
1.子线程切换主线程
Observable.create(new ObservableOnSubscribe<Integer>() {
@Override
public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
// 耗时操作
}
}).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer usbSourceFlagResult) throws Exception {
//主线程更新UI
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
}
});