RxJava 在Android中的应用(二)

来源:互联网 发布:佳能mp228清零软件 编辑:程序博客网 时间:2024/06/05 02:59

RxJava的事件序列

这里写图片描述

  • Observable.create()
        //创建observable被观察者        Observable.create(new Observable.OnSubscribe<String>() {            @Override            public void call(Subscriber<? super String> subscriber) {                subscriber.onNext("hello");//onNext()可以调用多次                subscriber.onCompleted();//事件序列结束标记                 //subscriber.onError();事件错误的标记            }        }).subscribe(new Observer<String>() {//观察者            @Override            public void onCompleted() {            }            @Override            public void onError(Throwable e) {            }            @Override            public void onNext(String s) {            }        });
  • Observable.just()
Observable.just("hello","are you ok ?").subscribe(new Observer<String>() {            @Override            public void onCompleted() {            }            @Override            public void onError(Throwable e) {            }            @Override            public void onNext(String s) {            }        });
  • Observable.from()
 String[] array = {"hello","java"};        Observable.from(array).subscribe(subscribe);//订阅者
 @Override    protected void onDestroy() {        super.onDestroy();        subscribe.unsubscribe();//销毁    }
public Subscriber<String> subscribe = new Subscriber<String>() {        @Override        public void onStart() {            super.onStart();        }        @Override        public void onCompleted() {        }        @Override        public void onError(Throwable e) {        }        @Override        public void onNext(String s) {        }    };
 Observable.from(array).subscribe(new Action1<String>() {            @Override            public void call(String s) {            }        }, new Action1<Throwable>() {            @Override            public void call(Throwable throwable) {            }        }, new Action0() {            @Override            public void call() {            }        });
0 0
原创粉丝点击