RxJava 2.0 語法使用簡略筆記(二)

RxJava的基本用法

just()方式
Observable<String> observable = Observable.just("Hello");
使用just( ),將爲你創建一個Observable並自動爲你調用onNext( )發射數據。通過just( )方式 直接觸發onNext(),just中傳遞的參數將直接在Observer的onNext()方法中接收到

fromIterable()方式

 List<String> list = new ArrayList<String>();
        for(int i =0;i<10;i++){
            list.add("Hello"+i);
        }
        Observable<String> observable = Observable.fromIterable((Iterable<String>) list);

使用fromIterable(),遍歷集合,發送每個item。相當於多次回調onNext()方法,每次傳入一個item。
注意:Collection接口是Iterable接口的子接口,所以所有Collection接口的實現類都可以作爲Iterable對象直接傳入fromIterable()方法。

defer()方式

 Observable<String> observable = Observable.defer(new Callable<ObservableSource<? extends String>>() {
            @Override
            public ObservableSource<? extends String> call() throws Exception {
                return Observable.just("hello");
            }
        });

當觀察者訂閱時,才創建Observable,並且針對每個觀察者創建都是一個新的Observable。以何種方式創建這個Observable對象,當滿足回調條件後,就會進行相應的回調。

interval( )方式

 Observable<String> observable = Observable.interval(2, TimeUnit.SECONDS);

創建一個按固定時間間隔發射整數序列的Observable,可用作定時器。即按照固定2秒一次調用onNext()方法。
range( )方式

Observable<Integer> observable = Observable.range(1,20);

創建一個發射特定整數序列的Observable,第一個參數爲起始值,第二個爲發送的個數,如果爲0則不發送,負數則拋異常。上述表示發射1到20的數。即調用20次nNext()方法,依次傳入1-20數字。
timer( )方式

Observable<Integer> observable = Observable.timer(2, TimeUnit.SECONDS);

創建一個Observable,它在一個給定的延遲後發射一個特殊的值,即表示延遲2秒後,調用onNext()方法。
repeat( )方式

Observable<Integer> observable = Observable.just(123).repeat();

創建一個Observable,該Observable的事件可以重複調用。

除了Observable(被觀察者)的創建之外,RxJava 2.x 還提供了多個函數式接口 ,用於實現簡便式的觀察者模式。具體的函數式接口包括以下:

 

 

以Consumer爲例,我們可以實現簡便式的觀察者模式:

Observable.just("hello").subscribe(new Consumer<String>() {
            @Override
            public void accept(String s) throws Exception {
                System.out.println(s);
            }
        });

其中Consumer中的accept()方法接收一個來自Observable的單個值。Consumer就是一個觀察者。其他函數式接口可以類似應用。

摘自:https://www.jianshu.com/p/d149043d103a

 

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