一:基本概念理解
-
传统观察者模式:主要包含四个概念:被观察者,观察者,订阅,事件;
通过警察抓小偷,Button的点击监听来理解观察者模式 -
RxJava观察者模式
1.1 事件的类型:
事件类型:普通事件 onNext()
特殊事件:onCompleted() 和 onError()
Observer 的抽象类:Subscriber:
onStart() 事件订阅前;
unsubscribe():用于取消订阅;
线程调度:Scheduler
一:添加依赖库
implementation "io.reactivex.rxjava2:rxjava:2.2.4"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
//支持lambda表达式
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
二:常用操作符
- 创建操作符
-
fromArray
String[] arr = new String[]{"hello","world","Ivan"}; Observable.fromArray(arr) .map(s -> s+"@").subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(s -> Log.d("Ivan", "accept: "+s));
-
just(T...): 将传入的参数依次发送出来
Observable.just("hello","rxjava") .map(s -> s+"!@").subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(s -> Log.d("Ivan", "accept: "+s));
-
网友评论