一、概念
Observable:在观察者模式中称为“被观察者”;
Observer:观察者模式中的“观察者”,可接收Observable发送的数据;
subscribe:订阅,观察者与被观察者,通过subscribe()方法进行订阅;
Subscriber:也是一种观察者,在2.0中 它与Observer没什么实质的区别,不同的是 Subscriber要与Flowable(也是一种被观察者)联合使用,该部分内容是2.0新增的, Obsesrver用于订阅Observable,而Subscriber用于订阅Flowable
二、引用依赖
io.reactivex.rxjava2:rxjava:2.0.4
io.reactivex.rxjava2:rxjava:2.0.4
三、基本创建
Observable的创建:
Observable<String> observable = Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
//执行一些其他操作
//.............
//执行完毕,触发回调,通知观察者
e.onNext("我来发射数据");
}
});
Observer的创建:
Observer<String> observer = new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
//观察者接收到通知,进行相关操作
public void onNext(String aLong) {
System.out.println("我接收到数据了");
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
订阅:
observable.subscribe(observer);