1.前言
Rxjava, 具有鏈式呼叫、使用簡單&事件與結果鬆耦合的特點。
Rxjava, 之所以深受歡迎它包含 非常多操作符,能通過 【鏈式形】 優雅整潔的程式碼幾乎能實現所有的功能需求。
本文特點:圖多字少、邏輯簡單。
之前面試中被問了很多Rxjava的知識,今天獻一份不一樣詮釋,希望大家喜歡。
2.目錄
3.簡介
4.原理淺析
- Rxjava,擴充套件自觀察者模式。
4.1 生活例子
通過手機叫外賣例子,分析一下rxjava的原理。
叫外賣流程
- 涉及的角色與對應流程
4.2 例子結合Rxjava
- Rxjava,包含觀察者、被觀察者、訂閱行為&事件,與例子對應如下圖:
- 對應Rxjava基本使用程式碼:
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):按順序接收到事件&做出響應反饋。
5.操作符
5.1建立操作符
作用 :被觀察者把事件傳送至觀察者。
應用 :
5.2變換操作符
作用 :被觀察者把序列事件加工為其他序列事件(變換)。
原理 :結合叫外賣的例子(更改菜式)。
- 應用 :
5.3合拼操作符
作用 :將多個被觀察組合 & 將它們需要傳送的事件合拼。
應用 :
5.4過濾操作符
作用 :過濾/篩選 被觀察者傳送的事件。
應用 :
5.5條件操作符
作用 :通過指定條件,判斷是否接收被觀察者傳送的事件。
應用 :
5.6其他功能操作符
作用 :被觀察者傳送事件時,進行功能性擴充。
應用 :
6.框架設計思想
7.總結
Rxjava 如此好用、簡單、優雅的鏈式任務框架庫,你還等什麼?
到此,基本完成了rxjava相關介紹與使用,希望大家喜歡我的文章。
希望該文章能幫助準備面試、準備使用Rxjava的兄die們。
寫技術文章初心
技術知識積累
技術知識鞏固
技術知識分享
技術知識交流