Rxjava

160 阅读1分钟

四要素

  1. 被观察者
  2. 观察者
  3. 订阅
  4. 事件

使用

//第一步:创建被观察者:create
Observable observable = Observable.create(new Observable.OnSubscribe<String>() {
    @Override
    public void call(Subscriber<? super String> subscriber) {
        subscriber.onNext("Hello");
        subscriber.onNext("Imooc");
        subscriber.onCompleted();
    }
});

//通过just方法来创建被观察者
Observable observableJust = Observable.just("hello", "Imooc");

//通过from方法来创建被观察者
String[] parameters = {"hello", "Imooc"};
Observable observableFrom = Observable.from(parameters);

//第二步:创建观察者
Observer<Object> observer = new Observer<Object>() {

    @Override
    public void onCompleted() {

    }

    @Override
    public void onError(Throwable e) {

    }

    @Override
    public void onNext(Object s) {
        ToastUtils.showLong(RxActivity.this, s.toString());
    }
};

public void doRxjava(){
    //第三步:订阅
    observable.subscribe(observer);
}

优点:

  1. 代码简洁。
  2. 链式调用。

缺点:

  1. 使用起来有学习成本。
  2. 代码库过于复杂,出问题不容易定位。

参考: