1、添加依赖
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.1'
2、异步和链式编程写法
Observable.create(new ObservableOnSubscribe<Boolean>() {
@Override
public void subscribe(ObservableEmitter<Boolean> emitter) throws Exception {
Log.d(TAG,"subscribe");
boolean result = 耗时操作
emitter.onNext(result);
emitter.onComplete();
}
}).observeOn(AndroidSchedulers.mainThread()) //观察者所在线程,即后台任务执行完成后需要回调的线程
.subscribeOn(Schedulers.io()) //被观察者所在的线程,在后台任务执行的线程
.subscribe(new Observer<Boolean>() {
@Override
public void onSubscribe(Disposable d) {
Log.d(TAG,"onSubscribe");
}
@Override
public void onNext(Boolean result) {
Log.d(TAG,"result = " + result);
}
@Override
public void onError(Throwable e) {
Log.d(TAG,"onError = " + e.getMessage());
}
@Override
public void onComplete() {
Log.d(TAG,"onComplete");
}
});