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

原文引用自: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本质)