五种被观察者为Observable,Flowable,Single,Completable,Maybe。
五种被观察者可通过toObservable,toFlowable,toSingle,toCompletable,toMaybe相互转换
Observable
一简介
1.Observable即被观察者,决定什么时候触发事件以及触发怎样的事件。
2.Oberver即观察者,他可以在不同的线程中执行任务,极大的简化了并发操作,因为他创建了一个处于待命状态的观察者,可以在某一时刻响应Observable的通知,而不会造成阻塞。
3.ObservableEmitter数据发射器,发射Observable的onNext,onError,onComplete,onSubscribe方法。
4.subscribe() 订阅Observable的四个方法,只有调用此方法才会开始发射数据。其有4个构造方法:
subscribe(onNext())
subscribe(onNext(),onError())
subscribe(onNext(),onError(),onComplete())
subscribe(onNext(),onError(),onComplete(),onSubscribe())
写个重载:
//创建被观察者
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> emitter) {
//发射数据,先检查订阅者是否取消订阅
if (!emitter.isDisposed()){
emitter.onNext("Hello World");
}
emitter.onComplete();
}
//订阅给观察者,接收数据
}).subscribe(new Consumer<String>() {
@Override