Rxjava2(第二篇)
阿新 • • 發佈:2018-12-12
來自:
部落格專家
Android實戰——RxJava2+Retrofit+RxBinding解鎖各種新姿勢
個人分類: 今年大三了
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qq_30379689/article/details/68958173
本文已授權微信公眾號:鴻洋(hongyangAndroid)原創首發。
前言
作為主流的第三方框架Rx系列,不學習也不行啊,對於初學者來說,可能RxJava看起來很難,用起來更難,但是你要知道,越複雜的東西往往能解決越複雜的問題,有可能你應用在專案中,也許你在面試的時候,就會和初級工程師拉開一大段距離。這門課程需要大家有Retrofit的基礎,如果想學習Retrofit的同學可以檢視我的部落格,廢話不多說,Hensen老師開車了。
RxJava2的介紹
用原話就是:RxJava2是一個在Java虛擬機器上,使用可觀察的序列構成基於事件的,非同步的程式庫。不理解沒關係,可以類比成我們的AsyncTask,這樣就好理解多了
RxJava2觀察者模式的介紹
觀察者模式就是RxJava使用的核心點,掌握這個模式,可以理解RxJava更簡單,觀察者模式簡單的說就是”訂閱-釋出”的模式,舉一例子說,當你訂閱某家牛奶店的早餐奶(訂閱過程),只要牛奶店生產牛奶,便會給你送過去(釋出過程)。這裡的牛奶店只有一家,但是訂閱的人可以很多,這是一種一對多的關係,只要牛奶店釋出牛奶,那麼訂閱的人就會收到牛奶。換做RxJava裡面的話,牛奶店就是被觀察者(Observable),訂閱的人就是觀察者(Observer)
RxJava2觀察者模式的使用
這裡我們舉一例子學校點名的例子,首先建立我們所說的觀察者和被觀察者
public interface Observable {
//訂閱
public void attach(Observer observer);
//取消訂閱
public void detach(Observer observer);
//釋出
public void notifyObservers(String message);
}
public interface Observer { //給個名字來分辨不同的觀察者 void setName(String name); //觀察者的方法 void say(String message); }