RxAndroid 入门学习

参考RxAndroid入门

1、响应式编程

具体的在上面的参考文献中说的已经非常清楚了,个人理解就是化繁为简,将多层次的嵌套变成流水式,是的代码更加清晰易读。

2、Android怎么用

使用RxAndroid添加如下依赖:

1
2
3
4
5
6
7
8
9
allprojects {
repositories {
maven { url "https://oss.jfrog.org/libs-snapshot" }
}
}
dependencies {
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
}

最新的依赖以及源码可以访问RxAndroid GitHub主页

Observable和Observe

非常典型的观察者模式:

​ Observable:被观察者,用来处理事件的派发;

​ Observe:观察者,关注Observable,当被Observable发生变化时,Observe可以迅速的做出响应,处理事务,Observable可以对应多个Observe。

具体代码可以参考开头。

Observable相关的对象和方法:

  1. 使用Observable.create创建Observable对象。

  2. ObservableEmitter为发射器,Observable使用它发射事件给所有Observer

  3. 使用Observable.subscribe添加一个Observer

Observer的几个方法:

  1. onSubscribe:在订阅observable时回调,可以在这里调用Disposable.dispose取消订阅或者将Disposable对象保存起来以便在后续某个时刻取消订阅。
  2. onNext:在ObservableEmitter.onNext执行后回调,onNext表示的是整个响应链中的一环,在这里处理响应链中的其中一个任务,可以多次调用。
  3. onComplete:在ObservableEmitter.onComplete执行后回调,表示任务已全部完成,可以在这里做收尾工作。
  4. onError:在ObservableEmitter.onError执行后或者链中任一环节出现异常时回调,表示任务执行失败。

特别的是Observable订阅Observe,即被观察者订阅观察者。