Rxjava2的核心理念是“观察者模式”,即”观察者”观察”被观察者”。举一个简单的例子:
Observable<Time> clock =
Observable.create(emitter -> {
Time time = getTime()
emitter.onNext(time)
})
时钟作为一个被观察者,源源不断地产生时间。
DisposableObserver<Time> you =
clock.subscribeWith(new
DisposableObserver<Time>() {
@override
public void onNext(Time time) {
youDoSomething(time) or
seeSomebodyDoSomething(time)
}
})
你作为一个观察者,订阅时钟,获得时间。你根据时间做着自己该做、想做的事,或者看着别人做他或他们该做、想做的事。
最后的最后
if(youAreDying()) {
if(you != null && !you.isDisposed()) {
you.dispose()
}
};
当你离开这个世界,时间对你已毫无意义,你取消订阅,与时钟断开联系。