Java进阶-Rxjava(一)

414 阅读1分钟

rxjava的结构

使用rxjava的原因
1.代码逻辑清晰优雅,2避免回调地狱,3.线程调度
rxjava的基础使用
1.创建Observable --> 创建Observer-->使用subcribe()订阅 这样 一个简单的rxjava就创建完毕。

自定义一个observable observer例子(抽象的观察者 被观察者wecharserver 观察者user client)

创建jdk自带的observer例子

冷观察者跟热观察者Observable 冷观察者:观察者订阅了,才会开始执行发射数据流代码,对 Cold Observable 而言,有多个Observer的时候, 它们各自的事件是独立的,事件如
1.onNext() 观察者会回调它的onNext()方法
2.onError() onError事件发送之后,其他事件不会继续发送
3.onComplete() onComplete事件发送之后,其他事件不会继续发送

Observable什么时候开始发射数据序列?这取决于Observable的实现,一个”热”的Observable可能一创建完就开始发射数据,因此所有后续订阅它的观察者可能从序列中间的某个位置开始接受数据(有一些数据错过了)。一个”冷”的Observable会一直等待,直到有观察者订阅它才开始发射数据,因此这个观察者可以确保会收到整个数据序列。

如果实现热启动就是在冷启动的地方加上下面两个方法
Observable.publish():将一个Observable转换为一个可连接的Observable 。 ConnectableObservable.connect():指示一个可连接的Observable开始发射数据。

冷的实现比如网络请求 热的比如rxeventbus