借鉴于:https://www.jianshu.com/p/a406b94f3188
Rxjava 是一个基于事件流、实现异步操作的库
Rxjava原理基于一种观察者模式,模式有4个角色:
| 角色 | 作用 |
|---|---|
| 被观察者(observable) | 产生事件 |
| 观察者(observe) | 接收事件,并给出响应动作 |
| 订阅(subscribe) | 连接被观察者与观察者 |
| 事件(event) | 被观察者与观察者的载体 |
切断被观察者和观察者之间的联系可以采用disposable.dispose()
Rxjava简单使用
- 添加依赖
implementation 'io.reactivex.rxjava2:rxjava:2.1.10'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
- 操作符
1、create()创建被观察者对象
2、just()快速创建1个被观察这对象,发送事件,最多只能发送10个参数
3、fromArray()快速创建1个被观察这对象,直接发送传入的数组数据
4、fromIterable()快速创建1个被观察这对象,直接发送传入的集合数据
5、defer()延迟创建,间隔x秒或者经过x秒后,自动执行某个操作
6、timer()快速创建1个被观察者对象,延迟指定事件后,发送一个long类型的数据,一般用来检测
7、interval()每隔指定时间 就发送事件,可以用来发送socket的心跳
8、intervalRange()每隔指定事件 就发送事件,可指定发送的数据的数量
9、range()连续发送1个事件,可指定范围 没有延迟
10、rangeLong()连续发送1个事件,可指定范围 数据类型只能是long没有延迟
11、just()发送事件,最多只能发送10个参数
12、just()发送事件,最多只能发送10个参数










