本文大部分内容轉載自鴻洋公衆号【hongyangAndroid】,且已獲許可。
RxJava 1.x
對于RxJava 1.x 的學習資料,不用說當然是推薦【扔物線】的這篇超有名的神級文章:給 Android 開發者的 RxJava 詳解
RxJava 2.x
以下轉載自鴻洋大神公衆号文章
貼幾個必要的位址,以及wiki:
https://github.com/ReactiveX/RxJava
https://github.com/ReactiveX/RxAndroid
https://github.com/JakeWharton/RxBinding
https://github.com/JakeWharton/RxRelay
https://github.com/ReactiveX/RxJava/wiki/Additional-Reading
可以在看完下面的入門資料後,細細的看下官方的相關文章。
0基礎到上手
這個非常推薦簡書作者Season_zlc的“水管”系列,相信很多人都看過,看完你就知道為什麼叫“水管”系列了~~
-
給初學者的RxJava2.0教程(一)
http://www.jianshu.com/p/464fa025229e
-
給初學者的RxJava2.0教程(二)
http://www.jianshu.com/p/8818b98c44e2
-
給初學者的RxJava2.0教程(三)
http://www.jianshu.com/p/128e662906af
-
給初學者的RxJava2.0教程(四)
http://www.jianshu.com/p/bb58571cdb64
-
給初學者的RxJava2.0教程(五)
http://www.jianshu.com/p/0f2d6c2387c9
-
給初學者的RxJava2.0教程(六)
http://www.jianshu.com/p/e4c6d7989356
-
給初學者的RxJava2.0教程(七)
http://www.jianshu.com/p/9b1304435564
-
給初學者的RxJava2.0教程(八)
http://www.jianshu.com/p/a75ecf461e02
-
給初學者的RxJava2.0教程(九)
http://www.jianshu.com/p/36e0f7f43a51
接下來還有簡書作者南塵2251的RxJava2系列。
-
這可能是最好的RxJava 2.x 入門教程(一)
http://www.jianshu.com/p/a93c79e9f689
-
這可能是最好的RxJava 2.x 入門教程(二)
http://www.jianshu.com/p/b39afa92807e
-
這可能是最好的RxJava 2.x 入門教程(三)
http://www.jianshu.com/p/e9c79eacc8e3
-
這可能是最好的RxJava 2.x 入門教程(四)
http://www.jianshu.com/p/c08bfc58f4b6
-
這可能是最好的RxJava 2.x 入門教程(五)
http://www.jianshu.com/p/81fac37430dd
-
這可能是最好的 RxJava 2.x 入門教程(完結版)
http://www.jianshu.com/p/0cd258eecf60
-
GitHub 代碼同步更新:
https://github.com/nanchen2251/RxJava2Examples
基本上看完就已經對RxJava2有一定的了解了,接下來就是異常強大的操作符的學習了~
操作符與實戰
CSDN作者餘志強的RxJava2操作符系列:
-
RxJava create操作符的用法和源碼分析
http://blog.csdn.net/johnny901114/article/details/51524470
-
RxJava map操作符用法詳解
http://blog.csdn.net/johnny901114/article/details/51531348
-
RxJava flatMap操作符用法詳解
http://blog.csdn.net/johnny901114/article/details/51532776
-
RxJava concatMap操作符用法詳解
http://blog.csdn.net/johnny901114/article/details/51533282
-
RxJava onErrorResumeNext操作符實作app與伺服器間token機制
http://blog.csdn.net/johnny901114/article/details/51533586
-
RxJava retryWhen操作符實作錯誤重試機制
http://blog.csdn.net/johnny901114/article/details/51539708
-
RxJava 使用debounce操作符優化app搜尋功能
http://blog.csdn.net/johnny901114/article/details/51555203
-
RxJava concat操作處理多資料源
http://blog.csdn.net/johnny901114/article/details/51568562
-
RxJava zip操作符在Android中的實際使用場景
http://blog.csdn.net/johnny901114/article/details/51614927
-
RxJava switchIfEmpty操作符實作Android檢查本地緩存邏輯判斷
http://blog.csdn.net/johnny901114/article/details/52585912
-
RxJava defer操作符實作代碼支援鍊式調用
http://blog.csdn.net/johnny901114/article/details/52597643
-
combineLatest操作符的進階使用
http://blog.csdn.net/johnny901114/article/details/61191723
還有個非常給力的開源項目,“Learn RxJava By Samples”:
https://github.com/amitshekhariitbhu/RxJava2-Android-Samples
包含非常多的Sample,你也可以在它的README上獲得更多資訊~
該篇是對該項目的記錄,友善速查:
-
RxJava 知識梳理(2) - RxJava2 操作符實踐
http://www.jianshu.com/p/2ddd9bb8b1d7
該作者最近也在寫一些實戰類的文章:
-
RxJava2 實戰知識梳理(1) - 背景執行耗時操作,實時通知 UI 更新
http://www.jianshu.com/p/c935d0860186
-
RxJava2 實戰知識梳理(2) - 計算一段時間内資料的平均值
http://www.jianshu.com/p/5dd01b14c02a
-
RxJava2 實戰知識梳理(3) - 優化搜尋聯想功能
http://www.jianshu.com/p/7995497baff5
-
RxJava2 實戰知識梳理(4) - 結合 Retrofit 請求新聞資訊
http://www.jianshu.com/p/74f46ae1fabb
-
RxJava2 實戰知識梳理(5) - 簡單及進階的輪詢操作
http://www.jianshu.com/p/fa1828d70192
-
RxJava2 實戰知識梳理(6) - 基于錯誤類型的重試請求
http://www.jianshu.com/p/d135f19e045c
-
RxJava2 實戰知識梳理(7) - 基于 combineLatest 實作的輸入表單驗證
http://www.jianshu.com/p/25682d620320
-
RxJava2 實戰知識梳理(8) - 使用 publish + merge 優化先加載緩存,再讀取網絡資料的請求過程
http://www.jianshu.com/p/dfc11118b70b
開源項目
優秀的項目很多 ,推薦2個~~太多了也看不完~
就看天氣
就看天氣——是一款遵循 Material Design 風格的隻看天氣的APP。
- 卡片展現(目前天氣情況,未來幾小時天氣情況,生活建議,一周七天概況)
- 緩存資料,減少網絡請求,保證離線檢視
- 内置兩套圖示(設定裡更改)
https://github.com/xcc3641/SeeWeather
極客日報
極客日報,一款純粹的閱讀App,基于Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide
出于學習的目的做了這款Material Design風格的簡潔的閱讀應用,基本涵蓋了目前Android端開發最常用的主流架構,閱讀内容主要面向程式員/極客,目前包括:
知乎日報、微信精選、幹貨集中營、稀土掘金、V2EX
https://github.com/codeestX/GeekNews
源碼解析
推薦下張旭童的部落格~相信關注本公衆号的很多都看過旭童的文章~
-
RxJava2 源碼解析(一)
http://blog.csdn.net/zxt0601/article/details/61614799
-
RxJava2 源碼解析(二)
http://blog.csdn.net/zxt0601/article/details/61637439
最後,我一定能學好RxJava的~!