rxandroid 基础知识

 

概述

 在Android 中, 使用 rxandroid , rxandroid和rxJava的关系是,rxandroid包 依赖rxJava包,在其功能上增加了一些Android特有功能,项目中如果不需要指定rxJava包的版本,只需引入rxandroid包即可,如果需要更改 rxandroid包中默认的rxJava包版本 , 在项目中引入指定的rxJava包即可.

比如:

implementation 'io.reactivex.rxjava2:rxjava:2.2.21' //会替换 rxandroid:2.1.1包默认的rxjava为2.2.21版本

implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'

主要接口和对象

ObservableOnSubscribe<T>
Observable<T>
Observer<T>

 

 

生成 Observable 的流程

1: 指定 T

2: 实现接口ObservableOnSubscribe,或者使用匿名类

3: 调用Observable.create静态方法创建 可被订阅的[可观察] Observable

 

 

执行流程

 

1: 实现 ObservableOnSubscribe 接口 ,定义出 ObservableOnSubscribeImpl

2: 实例化得 observableOnSubscribeImpl对象 ( 1-2 也可以直接使用匿名类得到)

3:使用 Observable.create静态方法 传入observableOnSubscribeImpl 创建出可被订阅的[可观察]对象 observable, 注意,这里是可被订阅的.

4: observable 对象添加 异步执行的信息

5: 实现 Observer接口 ,定义出 ObserverImpl

6: 实例化得 observerImpl对象 ( 5-6 也可以直接使用匿名类得到)

5 调用 observable.subscribe 方法和observerImpl 对象关联,此方法内部会触发执行 observableOnSubscribeImpl.subscribe()方法 , 通常,subscribe是异步执行

6: observableOnSubscribeImpl.subscribe() 方法中通过调用 ObservableEmitter. onNext(T t) ,触发 observerImpl.onNext(T t) UI线程执行. onError 等方法同理

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值