編輯推薦
適讀人群 :Android開發者 RxJava源碼剖析
RxJava核心操作符解析
RxJava實戰案例分享
內容簡介
響應式編程是一種基於異步數據流概念的編程模式,在開發手機App、Web App時,要想保證對用戶請求的實時響應,給用戶帶來流暢的體驗,響應式編程是一個不錯的選擇。RxJava則是這種編程模式的Java實現。本書主要介紹如何使用RxJava進行響應式編程。全書一共6章,從響應式編程與RxJava的概念,到RxJava的操作符和源碼,以及各種Scheduler的特點和適用場景,均做瞭較細緻的講解。本書還用一章的篇幅給齣瞭幾個RxJava的實用案例,幫助讀者理解概念,上手操作。本書適閤RxJava的初學者,以及對RxJava有初步瞭解想要進一步深入學習的讀者閱讀。
作者簡介
目前就職於Face++,多年的移動端開發和RxJava使用經驗。
目錄
第1章 走進RxJava的世界 .......................................................................................................... 1
1.1 響應式編程.......................................................................................................................... 1
1.2 什麼是RxJava................................................................................................................ 4
1.3 Observable和Subscriber ............................................................................................... 5
1.3.1 Single:單個數據的生産者 ........................................................................................... 8
1.3.2 Completable:單個事件的生産者 .................................................................................. 9
1.4 在Android工程中引入RxJava .................................................................................. 11
第2章 RxJava中的操作符 ..................................................................................................... 12
2.1 創建Observable的操作符 .......................................................................................... 12
2.1.1 range ........................................................................................................................... 13
2.1.2 defer和just ................................................................................................................. 13
2.1.3 from ............................................................................................................................ 16
2.1.4 interval ........................................................................................................................ 17
2.1.5 repeat和timer ............................................................................................................. 19
2.2 轉化Observable的操作符 .......................................................................................... 21
2.2.1 buffer .......................................................................................................................... 21
2.2.2 flatMap ....................................................................................................................... 23
2.2.3 groupBy ...................................................................................................................... 25
2.2.4 map............................................................................................................................ 28
2.2.5 cast ............................................................................................................................. 29
2.2.6 scan ............................................................................................................................ 31
2.2.7 window ....................................................................................................................... 32
2.3 過濾操作符 .................................................................................................................. 35
2.3.1 debounce ..................................................................................................................... 35
2.3.2 distinct ........................................................................................................................ 39
2.3.3 elementAt .................................................................................................................... 40
2.3.4 filter ............................................................................................................................ 41
2.3.5 first和last ................................................................................................................... 43
2.3.6 skip和take,skipLast和takeLast ................................................................................ 45
2.3.7 sample和throttleFirst .................................................................................................. 46
2.4 組閤操作符 .................................................................................................................. 48
2.4.1 combineLatest .............................................................................................................. 48
2.4.2 join和groupJoin ......................................................................................................... 51
2.4.3 merge和mergeDelayError............................................................................................ 55
2.4.4 startWith...................................................................................................................... 58
2.4.5 switch ......................................................................................................................... 59
2.4.6 zip和zipWith .............................................................................................................. 61
2.5 錯誤處理操作符 .......................................................................................................... 64
2.5.1 onErrorReturn .............................................................................................................. 64
2.5.2 onErrorResumeNext ..................................................................................................... 66
2.5.3 onExceptionResumeNext .............................................................................................. 67
2.5.4 retry ............................................................................................................................ 70
2.6 輔助操作符 .................................................................................................................. 72
2.6.1 delay ........................................................................................................................... 72
2.6.2 do ............................................................................................................................... 74
2.6.3 materialize和dematerialize .......................................................................................... 78
2.6.4 subscribeOn和observeOn ............................................................................................ 80
2.6.5 timeInterval和timeStamp ............................................................................................ 82
2.6.6 timeout ........................................................................................................................ 84
2.6.7 using ........................................................................................................................... 87
2.7 條件操作 ...................................................................................................................... 90
2.7.1 all ............................................................................................................................... 90
2.7.2 amb............................................................................................................................ 92
2.7.3 contains ....................................................................................................................... 93
2.7.4 isEmpty ....................................................................................................................... 94
2.7.5 defaultIfEmpty ............................................................................................................. 95
2.7.6 sequenceEqual ............................................................................................................. 97
2.7.7 skipUntil和skipWhile ................................................................................................. 98
2.7.8 takeUntil和takeWhile ............................................................................................... 100
2.8 聚閤操作符 ................................................................................................................ 102
2.8.1 concat ....................................................................................................................... 102
2.8.2 count ......................................................................................................................... 104
2.8.3 reduce ....
RxJava響應式編程 下載 mobi epub pdf txt 電子書