1. 入门
RxJava是一个在JVM上使用可观测序列来组成异步的,基于事件的程序的库。
我们可以把它和Handler、AyncTask归为一类,都是用来处理异步事件的库。
它的特点是:
- 逻辑简洁
- 使用简单
- 实现优雅
2. 原理解析
被观察者通过订阅产生一系列事件,观察者按顺序接收事件并按顺序做出反应。
3. 基础使用
步骤:
- 创建被观察者(Observerable)
- 创建观察者(Observer)
- 通过订阅(subscribe)链接观察者和被观察者
创建观察者
// create 最基础的创建被观察者的方法
Observable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() {
@Override
public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
}
});
// just
Observable<String> observable_just = Observable.just("a", "b", "c");
// from
Observable observable1 = Observable.fromArray(new String[]{"1", "2", "3"});
创建被观察者
// observer
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
// subscriber implement observer
Subscriber<String> subscriber = new Subscriber<String>() {
@Override
public void onSubscribe(Subscription s) {
}
@Override
public void onNext(String s) {
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
}
}
订阅
observerable.subscribe(observer);
// 或者
observerable.subscribe(subscriber);
4. 操作符,英文好的话建议直接阅读官方文档, 文档中有实例动画,参考便于理解
创建observables
create
just
from

defer,每次被订阅的时候才会去创建observable,不订阅不创建
