RxJava 用途
异步操作、数据变换
RxJava 集成方式
implementation 'io.reactivex.rxjava2:rxjava:2.0.1'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
RxJava 概念
RxJava 有四个基本概念:Observable (可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 Observer。
他们之间的关系可以用下图表示:
RxJava 基本实现
根据上面说的,实现起来大概可以分为三步:
1.创建 Observeable
2.创建一个 Observer
3.订阅
创建 Observer
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
mDisposable = d;
}
@Override
public void onNext(String value) {
Log.d(TAG, value);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, e.toString());
}
@Override
public void onComplete() {
Log.d(TAG, "onComplete()");
}
};
Observer 中提供了四个方法,onNext(String value)、onError(Throwable e)、onComplete()方法分别对应 onNext、onError、onComplete 事件。
onSubscribe(Disposable d) 方法在订阅后会最先被调用,其中包含一个 Disposable 对象,Disposable 用于取消订阅,比如我们可以在 Activity 的 onDestroy 中调用 mDisposable.dispose();
此外还有一种方式创建 Observer
Subscriber<String> subscriber = new Subscriber<String>(