没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
提升开发效率,降低维护成本一直是开发团队永恒不变的宗旨。近两年来国内的技术圈子中越来 越多的开始提及 RxJava ,越来越多的应用和面试中都会有 RxJava ,而就目前的情况,Android 的网络库基本被 Retrofit + OkHttp 一统天下了,而配合上响应式编程 RxJava 可谓如鱼得水。想 必大家肯定被近期的 Kotlin 炸开了锅,笔者也在闲暇之时去了解了一番(作为一个与时俱进的有 理想的青年怎么可能不与时俱进?),发现其中有个非常好的优点就是简洁,支持函数式编程。 是的, RxJava 最大的优点也是简洁,但它不止是简洁,而且是** 随着程序逻辑变得越来越复杂, 它依然能够保持简洁 **
资源推荐
资源详情
资源评论










2019/11/8 这可能是最好的RxJava 2.x 教程(完结版) - 简书
https://www.jianshu.com/p/0cd258eecf60 1/13
这可能是最好的
RxJava 2.x
教程(完结版)
nanchen2251
25 2017.07.03 15:17:10 字数 3,856 阅读 271,615
这可能是最好的 RxJava 2.x 入门教程系列专栏
文章链接:
这可能是最好的RxJava 2.x 入门教程(一)
这可能是最好的RxJava 2.x 入门教程(二)
这可能是最好的RxJava 2.x 入门教程(三)
这可能是最好的RxJava 2.x 入门教程(四)
这可能是最好的RxJava 2.x 入门教程(五)
GitHub 代码同步更新:https://github.com/nanchen2251/RxJava2Examples
为了满足大家的饥渴难耐,GitHub将同步更新代码,主要包含基本的代码封装,RxJava 2.x所有操
作符应用场景介绍和实际应用场景,后期除了RxJava可能还会增添其他东西,总之,GitHub上的
Demo专为大家倾心打造。传送门:https://github.com/nanchen2251/RxJava2Examples
为什么要学
RxJava
?
提升开发效率,降低维护成本一直是开发团队永恒不变的宗旨。近两年来国内的技术圈子中越来
越多的开始提及 RxJava ,越来越多的应用和面试中都会有 RxJava ,而就目前的情况,Android
的网络库基本被 Retrofit + OkHttp 一统天下了,而配合上响应式编程 RxJava 可谓如鱼得水。想
必大家肯定被近期的 Kotlin 炸开了锅,笔者也在闲暇之时去了解了一番(作为一个与时俱进的有
理想的青年怎么可能不与时俱进?),发现其中有个非常好的优点就是简洁,支持函数式编程。
是的, RxJava 最大的优点也是简洁,但它不止是简洁,而且是** 随着程序逻辑变得越来越复杂,
它依然能够保持简洁 **(这货洁身自好呀有木有)。
咳咳,要例子,猛戳这里:给 Android 开发者的 RxJava 详解
什么是响应式编程
上面我们提及了响应式编程,不少新司机对它可谓一脸懵逼,那什么是响应式编程呢?响应式编
程是一种基于异步数据流概念的编程模式。数据流就像一条河:它可以被观测,被过滤,被操
作,或者为新的消费者与另外一条流合并为一条新的流。
响应式编程的一个关键概念是事件。事件可以被等待,可以触发过程,也可以触发其它事件。事
件是唯一的以合适的方式将我们的现实世界映射到我们的软件中:如果屋里太热了我们就打开一
扇窗户。同样的,当我们的天气app从服务端获取到新的天气数据后,我们需要更新app上展示天
气信息的UI;汽车上的车道偏移系统探测到车辆偏移了正常路线就会提醒驾驶者纠正,就是是响
应事件。
今天,响应式编程最通用的一个场景是UI:我们的移动App必须做出对网络调用、用户触摸输入
和系统弹框的响应。在这个世界上,软件之所以是事件驱动并响应的是因为现实生活也是如此。
nanchen2251
总资产128 (约12.80元)
说说入职字节跳动的感受
阅读 2,742
2019.07 Android 面试真题集锦
阅读 4,197
推荐阅读
央视一出手,吊打所有盗墓片
阅读 26,692
万万没想到,JVM内存结构的面试题
可以问的这么难?
阅读 5,053
正在消失的香港女星
阅读 11,177
Android打造万能自定义阴影控件
阅读 3,323
女裁缝苦练35年,小楷堪比王羲之,
上央视当劳模,专家:没艺术性
阅读 14,506
关注
广告
关注
广告
首页 下载APP
登录 注册
搜索
评论125 赞863
写下你的评论...

2019/11/8 这可能是最好的RxJava 2.x 教程(完结版) - 简书
https://www.jianshu.com/p/0cd258eecf60 2/13
为什么出了一个系列后还有完结版?
RxJava 这些年可谓越来越流行,而在去年的晚些时候发布了2.0正式版。大半年已过,虽然网上已
经出现了大部分的 RxJava 教程(其实细心的你还是会发现 1.x 的超级多),前些日子,笔者花了
大约两周的闲暇之时写了 RxJava 2.x 系列教程,也得到了不少反馈,其中就有不少读者觉得每一
篇的教程太短,抑或是希望更多的侧重适用场景的介绍,在这样的大前提下,这篇完结版教程就
此诞生,仅供各位新司机采纳。
开始
RxJava 2.x 已经按照 Reactive-Streams specification 规范完全的重写了,maven也被放在了
io.reactivex.rxjava2:rxjava:2.x.y 下,所以 RxJava 2.x 独立于 RxJava 1.x 而存在,而随后官方宣布
的将在一段时间后终止对 RxJava 1.x 的维护,所以对于熟悉 RxJava 1.x 的老司机自然可以直接看
一下 2.x 的文档和异同就能轻松上手了,而对于不熟悉的年轻司机,不要慌,本酱带你装逼带你
飞,马上就发车,坐稳了:https://github.com/nanchen2251/RxJava2Examples
你只需要在 build.gradle 中加上: compile 'io.reactivex.rxjava2:rxjava:2.1.1' (2.1.1为写此文章时
的最新版本)
接口变化
RxJava 2.x 拥有了新的特性,其依赖于4个基础接口,它们分别是
Publisher
Subscriber
Subscription
Processor
其中最核心的莫过于 Publisher 和 Subscriber 。 Publisher 可以发出一系列的事件,而 Subscriber
负责和处理这些事件。
其中用的比较多的自然是 Publisher 的 Flowable ,它支持背压。关于背压给个简洁的定义就是:
背压是指在异步场景中,被观察者发送事件速度远快于观察者的处理速度的情况下,一种
告诉上游的被观察者降低发送速度的策略。
首页 下载APP
登录 注册
搜索
评论125 赞863
写下你的评论...

2019/11/8 这可能是最好的RxJava 2.x 教程(完结版) - 简书
https://www.jianshu.com/p/0cd258eecf60 3/13
简而言之,背压是流速控制的一种策略。有兴趣的可以看一下官方对于背压的讲解。
可以明显地发现,RxJava 2.x 最大的改动就是对于 backpressure 的处理,为此将原来的 Observable
拆分成了新的 Observable 和 Flowable ,同时其他相关部分也同时进行了拆分,但令人庆幸的是,
是它,是它,还是它,还是我们最熟悉和最喜欢的 RxJava。
观察者模式
大家可能都知道,
RxJava
以观察者模式为骨架,在
2.0
中依旧如此。
不过此次更新中,出现了两种观察者模式:
Observable ( 被观察者 ) / Observer ( 观察者 )
Flowable (被观察者)/ Subscriber (观察者)
在 RxJava 2.x 中,Observable 用于订阅 Observer,不再支持背压(1.x 中可以使用背压策略),
而 Flowable 用于订阅 Subscriber , 是支持背压(Backpressure)的。
Observable
在 RxJava 1.x 中,我们最熟悉的莫过于
Observable
这个类了,笔者在刚刚使用 RxJava 2.x 的时
候,创建了 一个
Observable
,瞬间一脸懵逼有木有,居然连我们最最熟悉的
Subscriber
都没了,
取而代之的是
ObservableEmmiter
,俗称发射器。此外,由于没有了
Subscriber
的踪影,我们创建观
首页 下载APP
登录 注册
搜索
评论125 赞863
写下你的评论...
剩余12页未读,继续阅读
资源评论


mikeleishen
- 粉丝: 4
- 资源: 8
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
