
RxJava 异步任务响应式编程,基于观察者模式;Android 项目中使用 RxJava 需要添加依赖 RxAndroid。
RxJava 主要关键字Observable
「被观察者」、Observer
「观察者」、subscribe
「订阅」
1. 开源框架GitHub地址:
RxJava : https://github.com/ReactiveX/RxJava
RxAndroid : https://github.com/ReactiveX/RxAndroid
2. 项目添加依赖
implementation 'io.reactivex.rxjava2:rxjava:2.2.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
3. 基本使用「链式操作」
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> emitter) throws Exception {
//ObservableEmitter 发射器,发送事件
emitter.onNext("MrLiu");
emitter.onNext("HelloWord");
emitter.onComplete();
}
}).doOnNext(new Consumer<String>() {//doOnNext 拦截事件并处理,但不改变事件传递「接收事件存储在本地」
@Override
public void accept(String s) throws Exception {
Logger.d(s);
}
}).subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
Log.d(TAG, "onSubscribe: ");
}
@Override
public void onNext(String string) {
Logger.d(string);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, "onError: ");
}
@Override
public void onComplete() {
Log.d(TAG, "onComplete: ");
}
});
网友评论