RxJava入門實踐②

最近大家都在學習RXJAVA,作為有理想(mei shi gan)的程序員,RxJava還是沈有必要學習下的。

RXJAVA地址:https://github.com/ReactiveX/RxJava

0.什么是觀察者模式

1.RXJAVA是什么

2.最簡單的DEMO

3.SCHEDULER線程控制

4.操作符

5.初見RETROFIT 

 

2.最簡單的DEMO

在RXJava中的使用需要滿足一下幾個步驟。

  • 創建:Rx可以方便的創建事件流和數據流
  • 組合:Rx使用查詢式的操作符組合和變換數據流
  • 監聽:Rx可以訂閱任何可觀察的數據流并執行操作

是不是感覺這就是觀察者模式啊,沒辦法,就像前面提到的(0.什么是觀察者模式)因為RxJava就是基于觀察者模式的啊。

下面我們使用Rxjava打印一段字符串。

創建

被觀察者:

首先是被觀察的對象,在RxJava中使用“Observable”來表示

Observable observable = Observable.create(new Observable.OnSubscribe<String>() {
    @Override
    public void call(Subscriber<? super String> subscriber) {
        subscriber.onNext("this is a simple Demo");
        subscriber.onCompleted();
    }
});

使用Observable的create()方法可以很輕松的創建一個Observable對象。

觀察者:

觀察者就是需要來進行觀察的人,在RxJava中使用“Subscriber”或者”Observer“來表示。

Subscriber<String> subscriber = new Subscriber<String>() {
    @Override
    public void onCompleted() {
        Toast.makeText(MainActivity.this, "success", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onError(Throwable e) {
        Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();

    }

    @Override
    public void onNext(String s) {
        Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();

    }
};

其中的

onCompleted()方法是方法完成時的回調

onNext()成功的回調

在該方法中接受傳遞到subscriber 中的參數并做相應的處理,當然傳遞來的參數 可以在傳遞到subscriber之前做相應的處理如過濾、變換等。

本例子就直接將傳遞來的字符串打印出來。

onError()失敗的回調

組合:

Rxjava中的變換牽扯到各種復雜的操作符和各種各樣的變換操作,在本例子當中不進行操作,在以后的例子中會進行具體的說明。

監聽:

在RXJava中訂閱采取的是被訂閱對象訂閱訂閱者的方式進行訂閱的(流式api原則)。

observable.subscribe(subscriber);

或者

 

observable.subscribe(observer);

完成好以上操作,運行程序,你就會發現程序界面上先顯示this is a simple Demo,后顯示success了

那么恭喜,你已經成功入門Rxjava了。

 

來自: http://blog.flyou.ren/?p=268

 本文由用戶 HonClaypool 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!