rxjava原理
1、RxJava是一种基于观察者模式的响应式编程框架,其中的主要角色有:Observable 是RxJava描述的事件流,在链式调用中非常清晰,事件从创建到加工处理再到被订阅者接收到,就是一个接一个的Observable形成的一个事件流。
2、每一步方法的调用,都会返回一个新的Observable给下一步,这个是RxJava源码的基础。同样是链式调用,但它与我们常见的Builder模式不太一样,每个操作符,每次线程切换,每步都会新建一个Observable而非直接加工上一步的Observable返回给下一步。
3、ObservableOnSubscribe 是这个事件流的源头,下面我们称之为事件源,一般由我们自己创建并传入。我们创建时,需要重写其subscribe()方法,为了和Observable中的subscribe()方法区别,我们将在下面贴出的代码中将其改名为call()。
4、我们在调用链中有时会用到各种操作符进行一些变换,事实上每个操作符都会重写这么一个call()方法,相对于我们创建事件源时在这里写入的源业务代码,这些操作符在这里要做的事是由RxJava钦定的,一般是连接事件流的上下游。在这里我们将准备好被订阅的数据,并调用subscribe()参数中ObservableEmitter的onNext(),onCompleted()或onError()通知订阅者数据准备情况。
5、Observer 是整个事件流的订阅者,也就是说,它将会订阅前面事件创建,加工以后的最终结果。它也是由我们创建的,我们将要重写它的onNext(),onCompleted(),onError()和onSubscribe(),在接下来的分析中我们将简化一些,只关注onNext()。我们创建出了Observer以后,将会使用经过上面所有步骤的最后一步生成的Observable,调用它的subscribe(),与事件源产生联系。


问答推荐:
好吃简单做的面食
葱油面。食材面条葱花白糖生抽老抽老干妈等等。首先我们在锅中倒入半锅的水,然后我们把水烧开了之后,就可以把面条倒入锅中去煮...木瓜葛根粉是什么囗味
木瓜葛根粉是没什么特殊味道的。木瓜葛根粉是一款采用纯天然的青木瓜粉葛根粉为主要原料和现代化食品加工工艺制作而成的食品。木...2尺7腰围是多码
腰围尺的人适合穿码的裤子,腰围一尺九的人就适合穿码的裤子,腰围两尺的人适合码的裤子,我们可以根据这个规律推算出很多其他码...怎样自制美白面膜
首先是黄瓜面膜,准备好几根黄瓜,然后将其放在榨汁机中倒入小碗里,将榨汁机中放入蛋清珍珠粉适量面粉等调成糊,洗完脸后将其均...如何把爱剪辑视频传到QQ空间
具体步骤将爱剪辑制作的视频,保存到电脑桌面上。在电脑上打开客户端,登录,在界面,打开空间。在空间中,点击发表说说,在发表...五星级酒店服务标准是什么啊
按照酒店的建筑设备酒店规模服务质量管理水平,逐渐形成了比较统一的等级标准。通行的旅游酒店的等级共分五等,即五星四星三星二...怎么做板栗才好吃
把栗子放入水中,洗净干净,捞出备用。再把栗子放入清水中,加盐克。浸泡分钟左右就可以,捞出来,放到案板上,用刀在栗子的中间...怎么找到微信相册
我们每个手机都有一个微信相册的文件夹,我们可以根据下面的操作教程找到这个相册。首先我们找到手机上的一个文件管理器打开文件...荣耀手环3怎么设置时间
荣耀手环设置时间的方法首先将手环和手机蓝牙断开连接,重新设置手机时间格式,再配对手环进行同步。同步成功后,手环会与手机的...想月经几天推迟小妙招 如何让月经推迟几天
遇到体育活动或者其它特殊情况时,女生总是会想要推迟经期。对于大部分女性来说,推迟经期是比较安全的,并没有什么大问题。下面...联想一键恢复怎么使用
联想一键恢复的用法如下老版本的联想电脑,在电脑开机键旁边,因为版本不一样可能位置有变化,会有一个一键还原按钮,按一下即可...广西大学体育课都有哪些呀
以下是广西大学体育课学习的项目打篮球。篮球也是奥运会核心比赛项目,是以手为中心的对抗性体育运动。起源于美国。踢足球。它一...饭瓜和南瓜区别
饭瓜是南瓜的别称,属同一物种。南瓜别称倭瓜番瓜饭瓜番南瓜北瓜。葫芦科南瓜属的一个种,一年生蔓生草本植物,茎常节部生根,叶...抖音私信功能封禁是什么原因
适用华为,,抖音。抖音私信封禁是指如果频繁的给用户私信发微信号,或者在评论下污秽言语或辱骂信息,频繁搜索等都有可能被抖音...辛夷花的功效与作用
纲目拾遗消痰,益肺和气,蜜渍尤良。辛夷花即玉兰花。其含有挥发油,其中主要为柠檬醛丁香油酸等,还含有木兰花碱生物碱望春花素...