如有转载,请申明:
转载至 http://blog.csdn.net/qq_35064774/article/details/53057332
1. 为什么写这篇文章
RxJava
这些年越来越流行,而上月末(2016.10.29)发布了2.0正式版,但网上大部分关于RxJava
的教程都是1.x
的。关于2.0
的教程基本是介绍1.x
和2.x
的区别,对于RxJava
的老用户来说,自然看看和1.x
的区别就大致会用了,但是对于新手来说,就不得不先学1.x
。这样来说,学习成本就提高了,本身RxJava
就不容易上手。
为了让年轻的司机可以直接从2.0开始学习,我就写了这篇文章。RxJava的老用户可以直接看我这篇文章 RxJava 2.0有什么不同(译)。
由于本人文笔拙略,于是仿照着 Grokking RxJava 来写,望 Dan Lew 大大不要介意。
2. 基础
RxJava 2.0 最核心的是Publisher
和Subscriber
。Publisher
可以发出一系列的事件,而Subscriber
负责和处理这些事件。
平常用得最多的Publisher
是Flowable
,它支持背压,教程刚开始不适合介绍太多概念,有兴趣的可以看一下 RxJava 2.0中backpressure(背压)概念的理解。
要使用RxJava 2,你需要先引入相应的jar包。
compile 'io.reactivex.rxjava2:rxjava:2.0.0'
compile 'org.reactivestreams:reactive-streams:1.0.0'
注意,和1.x中不一样,2.0有一个依赖包。
3. Hello RxJava 2
创建一个Flowable
对象很简单,直接调用Flowable.create
即可。
// create a flowable
Flowable<String> flowable = Flowable.create(