AndroidObservable.fromBroadcast()、AndroidObservable.bindActivity 方法找不到

1.在0.24.0,rx.android.observables.AndroidObservable 被改为了 rx.android.app.AppObservable,可以使用AppObservable.bindActivity()、AppObservable.bindFragment()、ContentObservable.fromBroadcast()等方法

compile 'io.reactivex:rxandroid:0.24.0'


2.在版本1.0.0及其之后,RxAndroid移除了很多这样的方法作为模块化部分只剩下AndroidSchedulers那部分。


3.如果想使用的话,可以用compile 'io.reactivex:rxandroid:0.23.0'


4.AndroidObservable.fromBroadcast()可以用RxBroadcast替代。

需要在buildgradle中添加compile 'com.cantrowitz:rxbroadcast:1.0.0'

Observable<Intent> = RxBroadcast.fromBroadcast(context, intentFilter);


5. 从0.25.0到1.x改动很大。

①WigetObservable和ViewObservable被并入了RxBinding

②LifecycleObservable被移动到了RxLifecycle

③ContentObservable.fromSharedPreferencesChanges()被移动到了rx-preferences

④ContentObservable还没有被移除

⑤AppObservable和与其绑定的方法都被移除了,它有一些问题

[1]它自动取消订阅,但是只在Activity或者Fragment被暂停后发射数据才会被触发。因此,没有结束的序列有可能永远不会被取消订阅

[2]它被用来解决在Activity或Fragment被暂停后的提示问题,但这只是HandlerScheduler中的一个不易察觉的逻辑问题

[3]不论你是否需要在主线程中执行subscriber中的代码,它都会自动调用方法observeOn(AndroidSchedulers.mainThread())方法

换句话说,它并没有做到像它所声称那样,并且出现了意料之外的副作用。

⑥在移除AppObservable之后,需要确保:

[一]用Subscription或者RxLifecycle来手动取消订阅

[二]检查你是否需要添加方法observeOn(AndroidSchedulers.mainThread())





注:参考http://blog.danlew.net/2015/09/01/how-to-upgrade-to-rxandroid-10/

https://github.com/ReactiveX/RxAndroid/wiki#removed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值