RxAndroid和RxJava的資料分享
最近ReactiveX編程模型開始慢慢發展起來了,對於 Android 開發人員來說, RxJava 是一個很難上手的庫,因為它對於 Android 開發人員來說有太多陌生的概念了,可是它真的很牛。RxAndroid的核心是非同步,提供了可維護行好的鏈式文法和各種線程之間的方便切換,對於大多數Android開發人員來說,使用RxAndroid寫的代碼初看應該是很迷茫的,但熟悉了流程就好了,RxAndroid對於複雜的非同步編程情境還是能顯著提高代碼可讀性的,就像javascript 的Promise編程模式差不多。
ReactiveX是Reactive Extensions的縮寫,一般簡寫為Rx。Rx是一個編程模型,目標是提供一致的編程介面,協助開發人員更方便的處理非同步資料流,Rx庫支援.NET、JavaScript和C++,Rx近幾年越來越流行了,現在已經支援幾乎全部的流行程式設計語言了(已經有13種語言了)。社區網站是 http://reactivex.io/。 RxAndroid是在RxJava基礎上增加了一些類,讓我們可以在Android平台上使用RxJava。Retrofit(REST網路程式庫),RxBinding,RxBus等開源項目可以和RxAndroid一起使用。
下面是網友收集的一些相關的文章Blog
給 Android 開發人員的 RxJava 詳解 -強烈推薦 扔物線的文章 講解非常詳細,這篇看懂基本就可以上手了a啊
NotRxJava懶人專用指南 -這篇入門極力推薦,手把手,深入淺出教你實現一個簡易的RxJava庫,更好的理解RxJava的實現思路
深入淺出RxJava(一:基礎篇)
深入淺出RxJava ( 二:操作符 )
深入淺出RxJava ( 三--響應式的好處 )
深入淺出RxJava ( 四-在Android中使用響應式編程 )
如何升級到RxAndroid1.0 -適合使用Rx 0.x版本的使用者升級的時候參考
開發人員前線翻譯的一系列很贊的教程
那些年我們錯過的響應式編程 -非常棒的講解響應式編程的文章。
使用RxJava從多個資料來源中載入資料
使用RxJava.Observable取代AsyncTask和AsyncTaskLoader
當複仇者聯盟遇上Dragger2、RxJava和Retrofit的巧妙結合
結合RxJava使用SQLite
比鋼鐵俠反應更靈敏-RxJava
一些不錯的介紹操作符的文章
- 行雲流水的部落格
- Android RxJava使用介紹(二) RxJava的操作符一些不錯的翻譯文章
【譯】Deferring Observable code until subscription in RxJava
【譯】RxJava Observable tranformation: concatMap() vs flatMap()
【譯】Loading data from multiple sources with RxJava
【譯】Don't break the chain: use RxJava's compose() operator
Test
- Unit Testing RxJava Observables and SubscriptionsApp
android-gfycat -Android application that loads gifs via gfycat for efficiency's sake
JakeWharton/u2020 -Jake大神的項目,裡面有RxJava和Retrofit一起使用的例子
Avengers - 一個使用Retrofit+RxJava+MVP的app
rx-android-architecture -Android中使用Rx的一種架構
learnrxjava -RxJava例子
Library
rx-preferences -使SharedPreferences支援RxJava
RxAndroid -RxJava的Android拓展
RxLifecycle -協助使用了RxJava的安卓應用控制生命週期
RxBinding -安卓UI控制項的RxJava綁定API
storio -支援RxJava的資料庫
retrofit -支援RxJava的網路請求庫
Stackoverflow
When should one use RxJava Observable and when simple Callback on Android?