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了。

0.什么是观察者模式
1.RXJAVA是什么
2.最简单的DEMO
3.SCHEDULER线程控制
4.操作符