RxJava2.x.y学习之路(一)

       本来买了本Android进阶之路,里面有写到RxJava的内容,准备跟着学习来着,结果里面的内容有点老了,rxjava都2.x.y了。所以只能到网上找找资料了。

       推荐一个简书地址,感觉还不错,给初学者的RxJava2.0教程


      大致说一下第一次看到RxJava的想法,大概就是就是订阅和被订阅,和EventBus有点像。最终是实现异步回调。

还是先来个HelloWorld吧,方便我自己记忆和理解。

      如何使用RxJava,个人觉得先理解一下单次的意思比较好。

Observable
可观察
Observer
观察者

知道这两个单次的意思后,就可以使用RxJava了。刚刚推荐的那个简书地址,里面有图文解释,可以先去了解一下。

首先创建一个可以观察的对象,create()中传入了一个新的对象,字面意思为,当可被观察的对象订阅观察者的时候执行。


    /**
     * 1.Observable 可以被观察的事物
     */
    Observable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() {
        @Override
        public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
            emitter.onNext(1);
            emitter.onNext(2);
            emitter.onNext(3);
            emitter.onComplete();
        }
    });

然后创建一个观察者,


    /**
     * 2.观察者
     */
    Observer<Integer> mObserver = new Observer<Integer>() {
        @Override
        public void onSubscribe(Disposable d) {
            Log.i(TAG, "onSubscribe: 在订阅的时候");
        }

        @Override
        public void onNext(Integer integer) {
            Log.i(TAG, "onNext: "+integer.toString());
        }

        @Override
        public void onError(Throwable e) {
            Log.e(TAG, "onError: ",e.getCause());
        }

        @Override
        public void onComplete() {
            Log.i(TAG, "onComplete: ");
        }
    };

然后两者可以建立连接,完成异步回调。

        //观察者和被观察者之间建立联系,由被观察者决定谁去谁去观察自己
        observable.subscribe(mObserver);

运行的结果:

05-02 08:41:00.342 2802-2802/com.magic.rxjava I/MainActivity: onSubscribe: 在订阅的时候
05-02 08:41:00.342 2802-2802/com.magic.rxjava I/MainActivity: onNext: 1
05-02 08:41:00.342 2802-2802/com.magic.rxjava I/MainActivity: onNext: 2
05-02 08:41:00.342 2802-2802/com.magic.rxjava I/MainActivity: onNext: 3
05-02 08:41:00.342 2802-2802/com.magic.rxjava I/MainActivity: onComplete: 

 

最后建立连接的时候,需要注意的是  可被观察的对象主动去找一个观察者,即订阅。

 

...

我感觉这篇博客应该只有我自己看得懂了...各位老铁们还是去看看我贴的那个连接,写的比较好。

 


20190513补充:

今天又往后学习了一点,感觉这个可被观察和观察者需要一个角色定位更容易让人理解。

可以理解为可观察的人是指挥官,观察者是执行士兵。由可以观察的事物发送命令,由观察者执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值