RxJava 2.x 實戰
內容描述
《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