RxJava is a library for composing asynchronous and event-based programs by using observable sequences.
RxJava是一个基于事件流、实现异步操作的库。
RxJava是基于观察者模式的:大概原理是Observable里持有observer的引用,Observable发送事件,observer即接收事件。
Observable:被观察者,生产事件的
Observer:观察者,接收&处理事件
subscribe:形成订阅关系,开始真正进行事件流的传递处理
1、Observable的基本使用
Observable.just(1, 2, 3, 4)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Integer>() {
@Override
public void onSubscribe(Disposable d) {
Log.d(TAG, "onSubscribe");
}
@Override
public void onNext(Integer value) {
Log.d(TAG, "最终接收到的事件 = " + value);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, "onError");
}
@Override
public void onComplete() {
Log.d(TAG, "onComplete");
}
});