Android 四大天王之 RxAndroid (1)
大家熟悉 Android 四大基本元件分別是 Activity,Service ,Content Provider內容提供者,BroadcastReceiver 廣播接收器。這是剛剛接觸 Android 的四大天王。

Android 四大天王
隨著 Android 的硬體不斷升級以及應用為了滿足更多的需求。一些簡單好用的庫也層出不窮。從今天開始要介紹 Android 開發的不可缺少的庫。庫中的四大天王,當屬是 RxAndroid Retrofit Dagger OKHttp

新四大天王
起初對於我, RXAndroid 感覺有些神祕。RXAndroid 在 Android 開發上地位可以說的上必備。之前在公眾號上嘗試幾次來分享他,由於當時對他了解不多,可以說過於淺顯,所以沒有看得出他的power。不過隨著開發 Android 的開發,對他有些瞭解,也見識到他的威力。無論是工作還是學習我們回頭看昨天,可能回覺得可笑,不是一切不能從來,即使從頭來過,我想我們做的那些蠢事依然可笑。
先向RxAndroid 作者這位 Android 屆 JakeWharton 大神致敬一下。

JakeWharton
RxAndroid 設計讓我體會到既簡潔又強大。其實他的核心又兩個(Reactive Stream) 就是響應和流。如果你理解這兩個概念,已經拋棄傳統思想,向 model web 走進一步,這個概念太重要了。希望大家找些資料理解,消化,昇華一下。

圖1
我們還是要理解幾個單詞,只有理解好這幾個單詞和他們之間的聯絡您才能真正理解 RxAndroid 的含義。他們分別是 publisher subscribe subscriber subscription。由於自己理解能力有限,如果解釋不好,還希望海涵。
publisher 發行商?其實差不多,用於釋出事件,訊息,訊息大家也可以理解發行訊息,刊物
這個介面,用於產生(釋出)事件,事件可以同步,也可以是非同步的。他事件的源頭.

圖2
光有發行,沒人看,沒人訂閱也有點尷尬,不過也不是不可以。那麼 subscriber(使用者) 和 subscribe(訂閱)這些刊物了,訂閱後,我們就有訂閱憑證(subscription) 這個東西用來幹啥,可以用於取消訂閱或繼續訂閱這個刊物。

圖3
我使用訊息時,會有幾個具柄,第一個 onNext 這是就是我們獲取資料,這個方法裡我們可以處理髮送過來的資料,onError 如果發生錯誤時,我們應該如何應對,onComplete 表示不再回發生新的資料,停刊了。

圖5
