前言
rxjava接触过好几回了, 但一起来又感觉无厘头, 又放弃了。一来一回,这东西就跟弃妇一样被我放弃了好多回,想想都替他感到可怜,这次为什么还要回来学习它呢?俗话说,纸包不住火,是金子都会发光的,它是越来越火了。果出我所料,它还是引起了本宝宝的注意⚠️。
这好玩的东西火在什么地方呢?为什么说它好的同时, 又人又疑问的说, 这东西不是增加了代码量嘛,而且更加不易于读懂了。这先放一放,这里用一句话解释下一下rxjava的概念,再解释这个疑惑:它是一个处理异步的、基于事件的库。就是异步。
所以它有两个特点:
1、异步
rxjava可以较为简洁的逻辑实现异步,并且可以灵活的指定事件生产所在的线程,同时还可以指定事件消费的线程。
2、简洁
很多人一对比下普通的代码和用rxjava实现的代码,骂了隔壁,明显变多了啊!搞鸡毛啊,激动的不要不要的瞬间右上角点个x,其实这里简洁的是在于代码逻辑上,理解上更加直接了。因为它充分利用了面向对象的思想。举个例子,“我让隔壁老王买个酱油” 。比较如下
一般流程: 去敲隔壁老王的门,呼叫老王出来,给5毛钱给老王,老王去买酱油。
rxjava流程:我叫老王—>买酱油。过程条件:1.敲门 2.叫 3.给五毛钱。
哈哈,你看。老王去买酱油的时候吧,就拿着5毛钱就行了。
而且这里,还涉及到一些拓展性的问题。比如这里增加一些额外逻辑代码,在第一种的情况下是要改逻辑了, 破坏了原有的本性。而rxjava则只需要再添加个filter就可以了。
下面再介绍下涉及的具体字段概念吧。
observable:被观察者,也就是事件发起者。
observer|subscriber:观察者,也就是事件通知者。
subscribe:观察者与悲观察者之间建立连接的桥梁。
由于懂的不多, 不敢写太多,就写到这里吧,送给学习的自己,希望能够保持写笔记良好习惯。加油~