来自:
博客专家
https://blog.youkuaiyun.com/qq_30379689/article/details/68958173#rxjava2的介绍
Android实战——RxJava2+Retrofit+RxBinding解锁各种新姿势
2017年04月03日 15:15:20 Hensen_ 阅读数:14028 标签: androidrxjavaretrofitrxbinding 更多
个人分类: 今年大三了
所属专栏: Android主流的第三方库
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_30379689/article/details/68958173
本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。
前言
作为主流的第三方框架Rx系列,不学习也不行啊,对于初学者来说,可能RxJava看起来很难,用起来更难,但是你要知道,越复杂的东西往往能解决越复杂的问题,有可能你应用在项目中,也许你在面试的时候,就会和初级工程师拉开一大段距离。这门课程需要大家有Retrofit的基础,如果想学习Retrofit的同学可以查看我的博客,废话不多说,Hensen老师开车了。
RxJava2的介绍
用原话就是:RxJava2是一个在Java虚拟机上,使用可观察的序列构成基于事件的,异步的程序库。不理解没关系,可以类比成我们的AsyncTask,这样就好理解多了
RxJava传送门:https://github.com/ReactiveX/RxJava
RxJava2观察者模式的介绍
观察者模式就是RxJava使用的核心点,掌握这个模式,可以理解RxJava更简单,观察者模式简单的说就是”订阅-发布”的模式,举一例子说,当你订阅某家牛奶店的早餐奶(订阅过程),只要牛奶店生产牛奶,便会给你送过去(发布过程)。这里的牛奶店只有一家,但是订阅的人可以很多,这是一种一对多的关系,只要牛奶店发布牛奶,那么订阅的人就会收到牛奶。换做RxJava里面的话,牛奶店就是被观察者(Observable),订阅的人就是观察者(Observer)
RxJava2观察者模式的使用
这里我们举一例子学校点名的例子,首先创建我们所说的观察者和被观察者
public interface Observable {
//订阅
public void attach(Observer observer);
//取消订阅
public void detach(Observer observer);
//发布
public void notifyObservers(String message);
}
public interface Observer {
//给个名字来分辨不同的观察者
void setName(String name);
//观察者的方法
void say(String message);
}