RxJava2.x理論知識(1)

分享一個大神的人工智能教程。零基礎!通俗易懂!風趣幽默!希望你也加入到人工智能的隊伍中來! 網址:http://www.captainbed.net/yancyang

RxJava是一個非常著名的開源庫,是ReactiveX(Reactive Extensions)的一種java實現。

RxJava是一種響應式擴展框架,有很多種實現,如RxAndroid,RsJS,RxSwift,RxRuby,RxCpp,RxGo等。

RxJava的使用通常需要三步走。

1.創建Observable

observable:被觀察者。

2.創建Observer

observer:觀察者

3.使用subscribe()訂閱

subscribe:訂閱
subscribe是被觀察者與觀察者之間的橋樑,這樣就能銜接實現鏈式調用。
  /**
     * 我想大家都記得,剛接觸代碼的Hello World
     */
    @SuppressLint("CheckResult")
    public void helloWorld() {
        //  1.創建Observable
        Observable<String> hello_world = Observable.just("Hello World");
        //3.使用subscribe()訂閱並連接Observable和Observer
        hello_world.subscribe(consumer);
    }
// 2.創建Observer
    Consumer consumer = new Consumer<String>() {
        @Override
        public void accept(String s) throws Exception {
            System.out.print(s);
        }
    };

Just()是RxJava的創建操作符,用於創建一個Observable,此類操作符還有很多,針對不同的Observable。

Consumer書上的意思爲消費者。此處的意思就是Observer,單一類型參數

subscribe()有多個重載的方法。

subscribe()
subscribe(onNext)
subscribe(onNext,onError)
subscribe(onNext,onError,onComplete)
subscribe(onNext,onError,onComplete,onSubscribe)

我們經常見到的subscribe()

subscribe

對觀察者的排放和通知進行操作

該訂閱運算符是一個觀察者連接到可觀察到的膠水。爲了使觀察者能夠看到Observable發出的項目,或者從Observable接收錯誤或完成的通知,它必須首先使用此運算符訂閱該Observable。

Subscribe運算符的 典型實現可以接受一到三個方法(然後構成觀察者),或者它可以接受實現包含這三種方法的接口的對象(有時稱爲 Observer或Subscriber):

onNext

只要Observable發出一個項目,Observable就會調用此方法。此方法將Observable發出的項作爲參數。

onError

Observable調用此方法以指示它無法生成預期數據或遇到其他一些錯誤。這將停止Observable,它不會進一步調用 onNext或onCompleted。該onError方法將參數作爲參數指示導致錯誤的原因(有時像Exception或Throwable這樣的對象,有時候是一個簡單的字符串,具體取決於實現)。

onCompleted

如果Observable調用onNext了最後一次,如果它沒有遇到任何錯誤,則會調用此方法。
如果Observable在觀察者訂閱之前沒有開始發射物品,則稱其爲“冷”Observable; 如果Observable可以在任何時間開始發出物品,則它被稱爲“熱”Observable,並且訂戶可以在其開始之後的某個時刻開始觀察所發射物品的序列,從而錯過了在訂閱之前發射的任何物品.

參考文檔:http://reactivex.io/documentation/operators/subscribe.html

下一章描述:
1.subscribe()
2.“冷”Observable
3.“熱”Observable

在這裏插入圖片描述
CSDN就停止更新Rxjava2.x的文章了,如果想要了解更多的,來我的微信訂閱號吧。

強烈推薦

分享一個大神的人工智能教程。零基礎!通俗易懂!風趣幽默!希望你也加入到人工智能的隊伍中來! 網址:http://www.captainbed.net/yancyang

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章