频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
RxJava & RxAndroid简单使用(2)
2017-04-12 13:51:00         来源:Song  
收藏   我要投稿

RxJava & RxAndroid简单使用。RxJava 的观察者模式,四个基本概念:Observer (观察者)、Observable (被观察者)、 subscribe (订阅)、事件。Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 Observer。

Observer 观察者

        //观察者
        Observer observer = new Observer() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(Integer value) {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        };
        //RxJava内置观察者的接口 用法跟Observe一样
        Subscriber subscriber = new Subscriber() {
            @Override
            public void onSubscribe(Subscription s) {

            }

            @Override
            public void onNext(String s) {

            }

            @Override
            public void onError(Throwable t) {

            }

            @Override
            public void onComplete() {

            }
        };

Observable 被观察者

Rx1.0版创建被观察者方法

Observable observable = Observable.create(new Observable.OnSubscribe() {
    @Override
    public void call(Subscriber subscriber) {
        subscriber.onNext("next1");
        subscriber.onNext("next2");
        subscriber.onCompleted();
    }
});

Rx2.0的版创建被观察者的方法

        //创建被观察者 Observable.create
        Observable observable = Observable.create(new ObservableOnSubscribe() {
            @Override
            public void subscribe(ObservableEmitter e) throws Exception {

            }
        });
        //创建被观察者 直接new
        Observable observable2 = new Observable() {
            @Override
            protected void subscribeActual(Observer observer) {
                observer.onNext("next1");
                observer.onNext("next2");
                observer.onComplete();
            }
        };

Subscribe 订阅

订阅关系当然是观察者订阅被观察者啦
这样写

        //观察者
        Observer observer = new Observer() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(String value) {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        };
        //观察者订阅被观察者
        Observable.just("1","2","3").subscribe(observer);

或者这样写

        //观察者订阅被观察者
        Observable.just("1", "2", "3").subscribe(new Observer() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(String value) {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        });
点击复制链接 与好友分享!回本站首页
上一篇:Android Study 之 初识ButterKnife(8.5.1)及简单运用
下一篇:Android——通过GPS获取用户地理位置并监听位置变化
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站