上一节我们学习了 RxJava中线程的切换,今天我们将开始学习它强大的操作符,有人会问,操作符是用来干嘛的?在我看来,操作符犹如rxjava的灵魂,它贯穿了被观察者和观察者的整个生命周期,从创建,到进行订阅,到数据传递,到取消订阅等环节。好了,接下来开始我们的学习。
创建操作符
create() 操作符
- 方法预览:
public static <T> Observable<T> create(ObservableOnSubscribe<T> source) {
- 作用:
创建一个被观察者
- 怎么用
Observable<String> mObservable = Observable.create(new ObservableOnSubscribe<String>() {
emitter.onNext(" 1");
emitter.onNext("2");
emitter.onNext("3");
emitter.onNext("4");
emitter.onComplete();
emitter.onNext(" 1");
emitter.onNext(" 2");
}
});
- 实战
Observable<String> mObservable = Observable.create(new ObservableOnSubscribe<String>() { // 1.创建 Observable对象
@Override
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
emitter.onNext(" 1");
emitter.onNext("2");
emitter.onNext("3");
emitter.onNext("4");
emitter.onComplete();
emitter.onNext(" 1");
emitter.onNext(" 2");
}
});
Observer<String> mObserver = new Observer<String>() { // 2.创建observer
@Override
public void onSubscribe(Disposable d) {
Log.d(TAG, "onSubscribe: ");
}
@Override
public void onNext(String s) {
Log.d(TAG, "onNext: " + s);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, "onError: " + e);
}
&