RxJava:walfud 彻底搞懂 RxJava 系列 笔记

walfud 彻底搞懂 RxJava 系列:
彻底搞懂 RxJava — 初级篇
彻底搞懂 RxJava — 中级篇
彻底搞懂 RxJava — 高级篇

初级篇:

            Observable
                .create(new Observable.OnSubscribe<String>() {//下面理解的第1步
                    @Override
                    public void call(Subscriber<? super String> subscriber) {
                        subscriber.onNext("hello");
                    }
                })
                .subscribe(new Subscriber<String>() {//下面理解的第2步
                    @Override
                    public void onCompleted() {
                    }
                    @Override
                    public void onError(Throwable e) {
                    }
                    @Override
                    public void onNext(String s) {
                        textView.setText(s);
                    }
                });

主要是Observable调用create以及构造完成后调用subscribe方法两步的分析:

  1. Observable.create实际上创建了一个Observable对象和一个OnSubscribe对象,OnSubscribe可以理解成事件流。
  2. create后调用的subscribe实际上是调用第一步的创建的OnSubscribe的call方法,可以理解成将该Observable的事件流指向我们new出的Subscriber

中级篇:
主要以map操作符为例,讲解了‘变换’操作:

  1. 第一步同样是create函数,与初级篇相同,创建了Observable和OnSubscribe两个对象
  2. 调用map函数,也就是调用lift,主要的变换操作就是lift函数中完成的:
    ①创建了一个OperatorMap,并将map中的处理过程也就是new的Fun1这个接口赋给了OperatorMap中的transformer对象。
    ②创建了第二个Observable和一个Subscriber。
    ③将第一个Observable(也就是我们调用Observable.create所创建的)的OnSubscribe指向上一步的Subscriber,也就是说将我们代码所产生的事件首先传递给了lift函数中创建的Subscriber处理。
    ④ 弟③步中lift函数创建的Subscriber的处理过程是
    o.onNext(transformer.call(t)); 这个o便是我们需要自己创建的Subscriber
  3. 最后我们调用subscribe函数并传入我们自己创建的Subscriber即可

高级篇:
还没仔细看,主要是关于线程的问题,貌似也是通过创建新的Observable和Subscriber作为代理进行线程间的切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值