美文网首页
Rxjava的基本理解 帮助你更好的理解rxjava本质

Rxjava的基本理解 帮助你更好的理解rxjava本质

作者: tommyRen | 来源:发表于2019-02-26 11:56 被阅读0次

    原文引用自:https://medium.com/@factoryhr/understanding-java-rxjava-for-beginners-5eacb8de12ca

    这篇文章 我会通过一些简单基本的例子解释一下rxjava,这篇文章适合初学的一头雾水的小伙伴 如果您是大神也可以再看一下 加深理解。

    什么是RxJava

    RxJava是ReactiveX的Java 虚拟机的实现,是一个使用可观察序列组成异步和基于事件的程序的库 或者再简单粗暴理解一下就是 处理异步任务 或者处理事件流的库。

    rxjava的三大件:

    1,Observables  被观察着

    2,Subscribers  消费者

    3,Operator   操作符 

    RxJava的构建基础是Observables和Subscribers。 Observable用于发出item,Subscriber用于消费这些item。这与标准的Observable模式非常相似,但RxJava做得更好,有更多的选择。例如,Observables通常不会在有人订阅它们之前开始发出项目。这是一个很棒的功能,因为这样你就可以节省不惜要的性能开销。

    RxJava 订阅者订阅Observable,然后Observable为任意数量的项调用Subscriber.onNext(),如果出现问题则是Subsciber.onError(),如果一切正常,则为Subscriber.onCompleted()。流程就是这么简单 请看下边实例代码理解这个过程

    创建一个Observable  

    创建一个观察者 

    下边是Observable注册观察者

    这样就妥了 这俩个东西组成了Rxjava使用的一个基本流程 

    结果是:

    I/System.out: Blue Factory

    I/System.out: I’m done

    这个例子这么简单 我们还能加点东西让它变得更加简单 例如create那个方法 请看下边

    这样一句话就搞定了。瘦身成功 执行下结果和原来一样  我们还可以操作一个list集合 请看下边

    创建一个list先 

    再创建一个Observable 

    然后再订阅

    执行结果就是遍历了这个集合。

    I/System.out: Blue

    I/System.out: Factory

    I/System.out: Blog

    I/System.out: Post

    Operator 很重要的一个操作符 我们再来学习一下 看下边例子 

    我们在原来的just上又 map了一下  map是操作符 意思就是把原来的数据又转换了一下 最后发送到Subscriber

    我想再map一下可以么  我们再玩一下这个map  

    map了2次,一个数据经过几次map 可以根据我们自己的业务需求 变换原始数据(可以是任何对象)这就是对数据流的处理 处理完毕后结果发送到Subscriber。

    总结:

    我们可以对 字符串,整数,API调用,点击等。我们使用RxJava进行API调用和android  控件事件的处理。 RxJava提供了简单的API处理,因为您不需要担心线程,并且您可以链接少量请求并在单个订阅服务器上获得结果。使用RxJava,您可以处理一些控件行为,例如,在一个按钮按下五次后将执行的操作,或者您可以创建Observable,它将每4秒从EditText输入发出一个String,以及许多其他奇特的东西。我希望本文为您提供RxJava的基础知识,并希望您将来继续深入探索RxJava。

    相关文章

      网友评论

          本文标题:Rxjava的基本理解 帮助你更好的理解rxjava本质

          本文链接:https://www.haomeiwen.com/subject/xhfnyqtx.html