RxJava分析

RxJava功能

主要是实现异步操作的库,别的定语都在异步操作定义之上;


RxJava优势

简洁,可读性强,后期维护方面;代码逻辑清晰,主线程与非主线程切换方便,能满足响应式需求

 

RxJava原理

通过扩展的观察者模式实现的;


普通观察者模式原理:(Button -> 被观察者、OnClickListener -> 观察者、setOnClickListener() -> 订阅,onClick() -> 事件);


RxJava观察者模式原理

Observable(被观察转者),Observer(观察者),Subscribe(订阅)事件,Observable和Observer通过Subscribe()方法实现订阅,从而使Observable在必要的时候通知Observer;


RxJava观察者模式特点

除了普通的onNext回调方法还有两个特殊的方法,onCompleted(事件完结触发),和onError(事件异常触发);


RxJava实现三步:

第一:创建Observer

创建Observer(观察者)决定事件触发以后的行为或者创建Subscriber对象Subscriber是对Observer接口进行了一些扩展

1.onStar()方法,但是该方法是异步的不可更新ui,更新ui使用;

2.doOnSubscribe()方法,更新ui;

3.unSubscribe()方法,取消订阅;

4.isUnSubscribed()方法,判断当前的订阅状态;


第二:创建Observable对象

1.调用Observable.create()方法创建Observable对象,参数为Observable.OnSubscribe<?>()接口,返回值为Observable;

2.调用Observable.just(T...)创建Observable对象;

3.调用Observable.form(Iterable<? extends T>))创建Observable对象

 

第三:调用Observable.Subscriabe()实现观察者Observer对被观察者Observable的订阅

注意:

订阅结束之后,Observable.subscribe(Subscriber)底层执行循序:

1.Subscriber.onStart();

2.OnSubscribe.call();

3.传入的Subscriber返回方便unsubscribe();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值