-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

RxJava響應式編程

( 簡體 字)
作者:李衍順類別:1. -> 程式設計 -> JAVA
譯者:
出版社:電子工業出版社RxJava響應式編程 3dWoo書號: 48825
詢問書籍請說出此書號!

缺書
NT售價: 245

出版日:3/1/2018
頁數:228
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121336409
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

毫無疑問,RxJava是一個非常優秀的開源庫,清晰的流式操作和便捷的線程切換為Java和Android開發者提供了有力的幫助。網上有大量介紹RxJava的文章,開發者可以很容易地查找到相關的學習資料。但是由于RxJava入門比較困難,而且缺乏一本系統地介紹RxJava的中文書籍,所以給很多初學者帶來了困擾,不少人淺嘗輒止,放棄了深入學習和使用RxJava的機會,這十分可惜。本書作為一本入門書,比較適合RxJava的初學者以及對RxJava有初步了解并想要進一步學習RxJava的讀者。
內容結構
本書第1章從響應式編程入手,介紹了RxJava及RxJava的組成部分,幫讀者初步了解RxJava。
第2章配合官方的示意圖分類介紹了RxJava的大部分操作符。這一章的篇幅比較多,讀者在閱讀的時候可能無法全部記住,可以在需要時隨時翻閱查詢。
第3章就各種Scheduler的特點和適合的使用場景做了介紹,幫助讀者根據實際需要選擇最合適的Scheduler。
只知道輪子怎么跑還不夠,還有必要知道輪子是如何造的,第4章結合源碼研究了RxJava的實現原理。了解原理一方面可以讓我們避免用錯操作符或者Scheduler,另一方面如果碰到RxJava中的bug,也有助于我們定位bug。發現bug后可以到GitHub上發起一個issue,而且最好能夠提一個附帶的pull request來修復這個bug。
第5章給出了一些實例和基于RxJava的開源庫的使用示例,以幫助讀者更好地將RxJava應用于實際開發中。
第6章介紹了RxJava 2相對于RxJava 1的改進之處,如果讀者已經掌握了RxJava 1,那么RxJava 2也可以很容易地上手。
給初學者的建議
RxJava這種響應式編程方式跟大多數人習慣的命令式編程方式有較大的區別,所以初學者首先需要完成編程思想上的轉變,理解RxJava的思想。如可以將Observable看作工廠的原材料生產機器,發送出來的數據即為原材料,整個鏈式操作可以視為原材料經過一條流水線,每個操作符為流水線上的一個車間,每個車間都會對原材料做一定的加工,最終的Subscriber可以視為最終消費者,會接收加工后的成品。
其次就是了解RxJava的操作符都有哪些,都有什么樣的作用。你不需要一開始就將每個操作符都記住,但是可以大體上記住都有什么功能的操作符,這樣在需要時就能夠想起哪個操作符能夠滿足當下的需求。關于操作符的詳細使用方式可以參閱第2章。
接下來就是實踐環節了。初期可以嘗試應用RxJava寫一些小程序,并參閱網上的一些開源代碼,看看別人都是怎么應用RxJava的。初步掌握之后就可以逐漸將RxJava引入到項目中,來解決一些工作過程中遇到的實際問題。只看不做永遠都是眼高手低,只有將RxJava真正地應用到實際開發工作中,不斷犯錯、不斷改進才能真正達到融會貫通的地步,才能真正地掌握RxJava的使用技巧。
最后,如果想要進一步學習RxJava,可以閱讀源代碼,可以深入地跟蹤一個操作符的實現過程來了解其原理。如果有可能,可以參與到RxJava的bug修復或者新功能開發中,在GitHub上給RxJava提pull request,上面有很多大神會給你提各種修改意見,理解他們的思路絕對會讓你受益匪淺。
內容簡介:

響應式編程是一種基于異步數據流概念的編程模式,在開發手機App、Web App時,要想保證對用戶請求的實時響應,給用戶帶來流暢的體驗,響應式編程是一個不錯的選擇。RxJava則是這種編程模式的Java實現。本書主要介紹如何使用RxJava進行響應式編程。全書一共6章,從響應式編程與RxJava的概念,到RxJava的操作符和源碼,以及各種Scheduler的特點和適用場景,均做了較細致的講解。本書還用一章的篇幅給出了幾個RxJava的實用案例,幫助讀者理解概念,上手操作。本書適合RxJava的初學者,以及對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 ............... 105
2.8.4 collect ............... 106
2.9 與Connectable Observable相關的操作符 ....... 107
2.9.1 publish和connect ............ 108
2.9.2 refCount .............. 110
2.9.3 replay .............. 111
2.10 自定義操作符 ............ 114
2.10.1 lift ............... 115
2.10.2 compose .............. 117
第3章 使用Scheduler進行線程調度 ......... 119
3.1 什么是Scheduler ............. 119
3.2 Scheduler的類型 ............. 121
3.2.1 computation ............. 121
3.2.2 newThread ............. 122
3.2.3 io .............. 122
3.2.4 immediate .............. 123
3.2.5 trampoline ............. 123
3.2.6 from .............. 123
3.3 總結 .............. 125
第4章 RxJava的實現原理 ........... 126
4.1 數據的發送和接收 ............ 126
4.1.1 創建Observable的過程 ........... 127
4.1.2 訂閱的過程 ............. 128
4.2 操作符的實現 ............ 130
4.2.1 lift的工作原理 ............ 130
4.2.2 map的工作原理 ............ 132
4.2.3 flatMap的工作原理 ........... 135
4.2.4 merge的工作原理 ............. 136
4.2.5 concat的工作原理 ............. 139
4.3 Scheduler的工作原理 ........... 144
4.3.1 Scheduler源碼 ............ 144
4.3.2 subscribeOn的工作原理 ............ 152
4.3.3 observeOn的工作原理 ............ 156
第5章 RxJava的應用實例 ........... 161
5.1 計算π的值 .............. 161
5.2 圖片的三級緩存 ............ 165
5.2.1 內存緩存 .............. 167
5.2.2 外存緩存 .............. 169
5.2.3 網絡緩存 .............. 172
5.2.4 緩存管理 .............. 173
5.2.5 封裝.............. 176
5.2.6 運行測試 .............. 178
5.3 結合Retrofit和OkHttp訪問網絡 .......... 181
5.3.1 卡片類的定義 ............. 181
5.3.2 配置OkHttp .............. 183
5.3.3 配置Retrofit.............. 186
5.4 使用RxLifecycle避免內存泄漏 ......... 189
5.4.1 修改demo工程 ............ 189
5.4.2 綁定其他生命周期 ............ 191
5.5 使用RxBinding綁定各種View事件......... 193
5.5.1 綁定點擊事件 ............ 194
5.5.2 綁定TextWatcher ............ 196
5.5.3 綁定OnPageChangeListener ........... 197
第6章 RxJava 2的改進 ............. 200
6.1 Observable和Flowable ........... 200
6.2 null的使用 ............. 203
6.3 Single和Completable ............ 205
6.4 Maybe ............... 207
6.5 Subscriber ............. 208
6.5.1 DefaultSubscriber ............ 209
6.5.2 ResourceSubscriber ............ 210
6.5.3 DisposableSubscriber ........... 211
6.6 Action和Function ............. 212
6.7 錯誤處理 .............. 214
6.8 Scheduler .............. 216
序: