Rxjava, 具備鏈式調用、使用簡單&事件與結果鬆耦合的特色。java
Rxjava, 之因此深受歡迎它包含 很是多操做符,能經過 【鏈式形】 優雅整潔的代碼幾乎能實現全部的功能需求。面試
本文特色:圖多字少、邏輯簡單。框架
以前面試中被問了不少Rxjava的知識,今天獻一份不同詮釋,但願你們喜歡。ide
經過手機叫外賣例子,分析一下rxjava的原理。學習
叫外賣流程spa
public void create(){
Observable.create(new ObservableOnSubscribe<String>() {
@Override
public void subscribe(ObservableEmitter<String> e) throws Exception {
e.onNext("烤雞一份");
e.onNext("薯條一份");
e.onNext("可樂一杯");
// e.onError(new NullPointerException());
e.onComplete();
}
}).subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
Log.e(TAG,"onSubscribe : 訂閱成功");
}
@Override
public void onNext(String s) {
Log.e(TAG,"onNext : 接收事件 "+s);
//按順序獲得:烤雞一份、薯條一份、可樂一杯
}
@Override
public void onError(Throwable e) {
Log.e(TAG,"onError : 事件異常 "+e.toString());
}
@Override
public void onComplete() {
Log.e(TAG,"onComplete : 事件執行完畢 ");
}
});
}
複製代碼
總結:
被觀察者(Observable):經過訂閱行爲(subscribe())把事件按順序發送到 觀察者(Observer)。 觀察者(Observer):按順序接收到事件&作出響應反饋。設計
做用 :被觀察者把事件發送至觀察者。3d
應用 :code
做用 :被觀察者把序列事件加工爲其餘序列事件(變換)。orm
原理 :結合叫外賣的例子(更改菜式)。
做用 :將多個被觀察組合 & 將它們須要發送的事件合拼。
應用 :
做用 :過濾/篩選 被觀察者發送的事件。
應用 :
做用 :經過指定條件,判斷是否接收被觀察者發送的事件。
應用 :
做用 :被觀察者發送事件時,進行功能性拓展。
應用 :
Rxjava 如此好用、簡單、優雅的鏈式任務框架庫,你還等什麼?
到此,基本完成了rxjava相關介紹與使用,但願你們喜歡個人文章。
但願該文章能幫助準備面試、準備使用Rxjava的兄die們。
技術知識積累
技術知識鞏固
技術知識分享
技術知識交流