1.1 说明
本书内容有
1.RX-from .NET to RxJava
本章带你进入reactive的世界。我们会比较reactive 方法和传统方法,进而探索它们之间的相似和不同的地方。
2.Why Observables?
本章会对观察者模式做一个概述,如何实现它以及怎样用RxJava来进行扩展,被观察者是什么,以及被观察者如何与迭代联系到一起的。
3.Hello Reactive World
本章会利用我们所学的知识来创建第一个reactive Android应用。
4.Filtering Observables
本章我们会研究Observable序列的本质:filtering.我们也将学到如何从一个发出的Observable中选取我们想要的值,如何获得一个有限的数值,如何处理溢出的场景,以及更多有用的技巧。
5.Transforming Observables
本章将讲述如何通过变换Observable序列来创建出我们所需要的序列。
6.Combining Observables
本章将研究与函数结合,同时也会学到当创建我们想要的Observable时又如何与多个Observable协同工作。
7.Schedulers-Defeating the Android MainThread Issue
本章将介绍如何使用RxJava Schedulers 来处理多线程和并发编程。我们也将用reactive的方式来创建网络操作、内存访问、耗时处理。
8.REST in peace-RxJava and Retrofit
本章教会你如何让Square公司的Retrofit和RxJava结合来一起使用,来创建一个更高效的REST客户端程序。
学习这本书你需要做的:
为了能够运行书中的例子,你需要一个标准的Android开发环境:
- Android Studio 或 Intellij IDEA
- Android SDK
- Java SDK
作为一个纯粹的Java开发者,当你接触RxJava时,很明显你需要一个你喜欢Java编辑器和一个标准的Java JDK 环境。这本书中的一些图表来自http://rxmarbles.com 和 http://reactivex.io。
这本书适合哪些人看
如果你是一名有经验的Java开发者,reactive编程将会在后端系统中给你一种新的学习扩展和并发的方式,而这不需要更换开发语言。这本书将帮助你学习RxJava的核心方面,也能帮助你克服Android平台局限性从而创建一个基于事件驱动的,响应式的,流畅体验的Android应用。
一些约定
在这本书中,你会发现许多用来区分不同信息的文本样式,这列举这些样式的一些例子和对他们释义的说明。
以下列举了些文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪造的URL、用户输入、Twitter handles :“正如你看到的那样:zip()有三个参数:两个Observable和一个Func2”
如下面的一块代码:
public Observable<List<User>> getMostPopularSOusers(int howmany){
return mStackExchangeService
.getMostPopularSOusers(howmany)
.map(UsersResponse::getUsers)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
当我们想对代码块的某一部分引起你的注意时,会在对应的那一行或列设置为粗体
public Observable<List<User>> getMostPopularSOusers(int howmany){
return mStackExchangeService
.getMostPopularSOusers(howmany)
.map(UsersResponse::getUsers) //也就是这句加粗显示
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
新的项目和重要的词语都会以粗体显示。你在屏幕看到的字,例如在菜单或者对话框,会以类似这样的形式出现在文本中:“We will just need a fancy progress bar and a DOWNLOAD button.
Note 类似这样的是警告或者出现在框中的重要提示。
Tip 类似这样的是提示和技巧