Rxjava2的简单实用

一、实现观察者和被观察者的创建和建立联系

第一种方式实现观察者和被观察者的创建和建立联系
1、创建被观察者

 //        创建被观察者(发送数据)
        Observable observable = Observable.create(new ObservableOnSubscribe<String>() {
            @Override
            public void subscribe(ObservableEmitter<String> e) throws Exception {
                e.onNext("大保健");
                e.onNext("泡吧");
                e.onComplete();
            }
        });

2、创建观察者

//        创建观察者(接受数据)
        io.reactivex.Observer<String> observer = new io.reactivex.Observer<String>() {
            @Override
            public void onSubscribe(Disposable d) {
                //移除观察者和被观察者的订阅关系
//                d.dispose();
                //判断观察者和被观察者是否还存在订阅关系
//                d.isDisposed();
                Log.i("myTag","onSubscribe-->" );
            }

            @Override
            public void onNext(String value) {
                Log.i("myTag","observer-->" + value);
            }

            @Override
            public void onError(Throwable e) {
                Log.i("myTag","onError-->" );
            }

            @Override
            public void onComplete() {
                Log.i("myTag","onComplete-->" );
            }
        };

3、实现观察者和被观察者之间的订阅关系

observable.subscribe(observer);

第二种方式实现观察者和被观察者的创建和建立联系
// 创建被观察者(发送数据)

  Observable<String>   observable.subscribe(new Consumer<String>() {
            @Override
            public void accept(String s) throws Exception {
            //accept方法就相当于是onnext方法

            }
        }, new Consumer<Throwable>() {
            @Override
            public void accept(Throwable throwable) throws Exception {

            }
        }, new Action() {
            @Override
            public void run() throws Exception {

            }
        });
        创建观察者和实现观察者、被观察者之间的关系步骤同第一种

第三种方式实现观察者和被观察者的创建和建立联系

//        创建被观察者(发送数据)
      Observable<String>   observable.subscribe(new Consumer<String>() {
                @Override
                public void accept(String s) throws Exception {
                //accept方法就相当于是onnext方法
    
                }
            }, new Consumer<Throwable>() {
                @Override
                public void accept(Throwable throwable) throws Exception {
    
                }
            }, new Action() {
                @Override
                public void run() throws Exception {
    
                }
            });
创建观察者和实现观察者、被观察者之间的关系步骤同第一种

第四种方式实现观察者和被观察者的创建和建立联系

 Observable observable = Observable.just("大保健","泡吧","ddd");
 创建观察者和实现观察者、被观察者之间的关系步骤同第一种

第五种方式实现观察者和被观察者的创建和建立联系

  Observable observable = Observable.fromArray("大保健","泡吧","ddd");
  创建观察者和实现观察者、被观察者之间的关系步骤同第一种

第六种方式实现观察者和被观察者的创建和建立联系

 Observable observable = Observable.fromCallable(new Callable<String>() {
            @Override
            public String call() throws Exception {
                return "大保健";
            }
        });
        创建观察者和实现观察者、被观察者之间的关系步骤同第一种

二、Rxjava实现线程控制

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值