Android进阶学习RxJava(二)Observer升级版Subscriber

本文通过生动的例子介绍了RxJava中Subscriber与Observable的工作原理。Subscriber作为Observer的升级版,新增了onStart方法,用于执行订阅前的操作。而Observable则通过不同的创建方式如just和from等,实现对数据的发送。
摘要由CSDN通过智能技术生成

Android进阶学习RxJava(二)Observer升级版Subscriber

Subscriber 翻译过来是订阅者
其实是Observer的升级版,加了一个onStart方法,改改名字

  • 开始编故事
小明(Subscriber)是个宅男,喜欢在家里读杂志
  • 所以小明订了一份花花公子杂志
先介绍宅男小明(Subscriber)
  • 其他三个方法介绍在上一篇文章里有,不明所以的可以往上翻,看第一篇小明的故事
Subscriber <String> subscriber=new Subscriber<String>() {
    @Override // 新方法 小明喜欢看杂志前把纸拿到桌旁
    public void onStart() {
        super.onStart();
    }
    @Override 
    public void onCompleted() {
        LogUtils.e("Completed");
    }
    @Override
    public void onError(Throwable e) {
        LogUtils.e("Error");
    }
    @Override
    public void onNext(String s) {
        LogUtils.e(s);
    }
};

在介绍未来送报员(Observable)
  • 送报员有好多形态,上一篇使用的是原始形态
    • 使用Observable.Create()创建的Observable
  • 送报员的其他形态
    • Observable.just()创建被观察者
    • Observable.from()创建被观察者
OK 一个一个来
  • 送报学会了特技,发射模式,目标,小明的窗户
just
  • just 原样发射 不带包装,杂志直接丢进小明窗户
    • 每个参数发一遍,参数最多为9个,可为null
Observable observable = Observable.just("Hello", "World");
from
  • 用来发送一个数组,先上源码
 public static <T> Observable<T> from(T[] array) {
        int n = array.length;
        if (n == 0) {
            return empty();
        } else
        if (n == 1) {
            return just(array[0]);
        }
        return create(new OnSubscribeFromArray<T>(array));
    }

  • 可以理解为,送报员开着火车送报,整车干到小明家
String [] words = {"Hello", "World"};
Observable observable = Observable.from(words);
最后,最重要的一步
  • 两个一定要关联起来,才会有效
    • 理解为,小明必须付钱,才能看到花花公子
observable.subscribe(subscriber);
总结
  • 发简单小数据,用just简单粗暴
  • 数组类大量数据,用from
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值