简介
RxJava2 提供一套基于观察者模式的异步编程的API,且链式调用。
响应式编程
响应式编程:一种基于异步数据流概念的编程模式。在这里你可以将数据想象成一条河流:他可以被观测、被过滤、被操作或者成为新的消费者与另一条数据流合并成为一条新的数据流。
异步
单线程同步模型:
多线程模型:
异步模型:
如何开始
基本元素
- 被观察者(Observable)
- 观察者(Observer)
- 订阅(subscribe)
相信理解了观察者模式的很好理解这些概念。
在Gradle文件中添加依赖
1
2implementation "io.reactivex.rxjava2:rxjava:2.1.15"
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
示例应用
1 | //创建被观察者 |
输出结果
1 | onSubscribe: |
解释
被观察者可以发送如下几种事件
事件种类 | 作用 |
---|---|
onNext() | 被观察者发送该事件,观察者onNext()接收 |
onError() | 被观察者发送该事件,观察者onError()接收,之后不再接收其他事件 |
onComplete() | 被观察者发送该事件,观察者onComplete()接收,之后不再接收其他事件 |