文章目录
- 第1 章 RxJava 简介 1
- 第2 章 RxJava 基础知识 13
- 第3 章 创建操作符 64
- 第4 章 RxJava 的线程操作 81
- 第5 章 变换操作符和过滤操作符 107
- 第6 章 条件操作符和布尔操作符 145
- 第7 章 合并操作符与连接操作符 160
- 第8 章 RxJava 的背压 184
- 第9 章 Disposable 和Transformer 的使用 194
- 第10 章 RxJava 的并行编程 214
- 第11 章 RxBinding 的使用 226
- 第12 章 RxAndroid 2.x 和Retrofit 的使用 252
- 第13 章 开发EventBus 274
- 第14 章 使用RxJava 封装HttpClient 4.5 303
- 第15 章 Spring Boot 和RxJava 2 325
- 第16 章 Java 8 的函数式编程 348
- 第17 章 Kotlin 和RxJava 389
- 第18 章 展望未来 406
出版年: 2018-4
简介:
《RxJava 2.x 实战》首先讲解了函数式响应式编程的概念,包括Observables、Subject、Processor 等,以及RxJava的优点和用途。然后讲解了RxJava 中必不可少的操作符,包括创建操作符、变换操作符、过滤操作符、条件操作符、布尔操作符、合并操作符和连接操作符。接着详细介绍了RxJava 的线程操作及线程模型,用大量的实例,讲解了RxJava 在Android 上和在Java 后端的使用。最后,介绍了Java 8 的函数式编程的特性,以及对未来编程方式的展望。
《RxJava 2.x 实战》适合Android 开发工程师、Java 后端开发工程师,以及对函数响应式编程、感兴趣的IT 从业人员。
第1 章 RxJava 简介 1
1.1 你需要了解的函数响应式编程 1
1.2 RxJava 简介 4
1.3 为何选择RxJava 6
1.4 RxJava 能做什么 10
1.5 RxJava 2 的Hello World 11
1.6 小结 12
第2 章 RxJava 基础知识 13
2.1 Observable 13
2.2 Hot Observable 和Cold Observable 20
2.3 Flowable 33
2.4 Single、Completable 和Maybe 34
2.5 Subject 和Processor 48
2.6 小结 63
第3 章 创建操作符 64
3.1 create、just 和from 65
3.2 repeat 72
3.3 defer、interval 和timer 75
3.4 小结 80
第4 章 RxJava 的线程操作 81
4.1 调度器(Scheduler)种类 81
4.2 RxJava 线程模型 83
4.3 Scheduler 的测试 99
4.4 小结 106
第5 章 变换操作符和过滤操作符 107
5.1 map 和flatMap 108
5.2 groupBy 112
5.3 buffer 和window 114
5.4 first 和last 121
5.5 take 和takeLast 125
5.6 skip 和skipLast 131
5.7 elementAt 和ignoreElements 135
5.8 distinct 和filter 139
5.9 debounce 142
5.10 小结 144
第6 章 条件操作符和布尔操作符 145
6.1 all、contains 和amb 146
6.2 defaultIfEmpty 150
6.3 sequenceEqual 152
6.4 skipUntil 和skipWhile 154
6.5 takeUntil 和takeWhile 156
6.6 小结 159
第7 章 合并操作符与连接操作符 160
7.1 merge 和zip 161
7.2 combineLatest 和join 167
7.3 startWith 171
7.4 connect、push 和refCount 174
7.5 replay 180
7.6 小结 183
第8 章 RxJava 的背压 184
8.1 背压 184
8.2 RxJava 2.x 的背压策略 188
8.3 小结 193
第9 章 Disposable 和Transformer 的使用 194
9.1 Disposable 194
9.2 RxLifecycle 和AutoDispose 196
9.3 Transformer 在RxJava 中的使用 198
9.4 小结 213
第10 章 RxJava 的并行编程 214
10.1 RxJava 并行操作 214
10.2 ParallelFlowable 221
10.3 小结 225
第11 章 RxBinding 的使用 226
11.1 RxBinding 简介 226
11.2 RxBinding 使用场景 229
11.3 RxBinding 结合RxPermissions 的使用 243
11.4 RxBinding 使用的注意点 249
11.5 小结 251
第12 章 RxAndroid 2.x 和Retrofit 的使用 252
12.1 RxAndroid 2.x 简介 252
12.2 Retrofit 简介 257
12.3 Retrofit 与RxJava 的完美配合 258
12.4 小结 272
第13 章 开发EventBus 274
13.1 传统的EventBus 274
13.2 开发一个新的EventBus(一) 276
13.3 开发一个新的EventBus(二) 285
13.4 开发一个新的EventBus(三) 287
13.5 开发一个新的EventBus(四) 294
13.6 小结 302
第14 章 使用RxJava 封装HttpClient 4.5 303
14.1 HttpClient 的介绍 303
14.2 使用RxJava 进行重构 309
14.3 实现一个简单的图片爬虫 317
14.4 小结 323
第15 章 Spring Boot 和RxJava 2 325
15.1 模拟Task 任务 325
15.2 构建一个给爬虫使用的代理IP 池 335
15.3 小结 347
第16 章 Java 8 的函数式编程 348
16.1 Java 8 的新变化 348
16.2 函数是一等公民 349
16.3 Lambda 表达式 352
16.4 Java 8 新增的Stream 355
16.5 函数的柯里化 364
16.6 新的异步编程方式CompletableFuture 366
16.7 小结 388
第17 章 Kotlin 和RxJava 389
17.1 Kotlin 简介 389
17.2 使用Kotlin 来封装图像框架 393
17.3 小结 405
第18 章 展望未来 406
18.1 期待已久的Java 9 406
18.2 其他的Reactive Streams 项目 408
18.3 小结 410
附录A RxJava 常用的操作符列表 411
附录B RxJava 中常用的library 416