Rxjava 2,android开发基础入门

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?
摘要由CSDN通过智能技术生成

public abstract class Observable implements ObservableSource {

}

可以看到 Observable 是一个抽象类,实现了 ObservableSource 接口

Observer

Observer 其实也是一个接口,里面定义了若干方法,onSubscribe ,onNext,onError,onComplete 方法。

public interface Observer {

void onSubscribe(@NonNull Disposable d);

void onNext(@NonNull T t);

void onError(@NonNull Throwable e);

void onComplete();

}

  • 一个正常的事件序列的调用顺序会是这样的 onSubscribe > onNext > onComplete,若中途出错了,那调用顺序可能是这样的 onSubscribe > onNext > onError

  • onSubscribe 方法,当我们调用 Observable 的 subscribe 方法的时候,会先回调 Observer 的 onSubscribe 方法,此方法的调用顺序先于 onNext,onError ,onComplete 方法。

  • onError 方法与 onComplete 方法可以说是互斥的,调用了其中一个方法就不会调用另外一个方法


源码解析


基本使用

在讲解原理之前,我们先来看一下 Rxjava 的一个基本使用。

Observable

.create(new ObservableOnSubscribe() {

@Override

public void subscribe(ObservableEmitter emitter) throws Exception {

emitter.onNext(“a”);

emitter.onNext(“b”);

emitter.onNext(“c”);

emitter.onComplete();

}

})

.subscribe(new Observer() {

@Override

public void onSubscribe(Disposable d) {

Log.e(“TAG”, "onSubscribe(): ");

}

@Override

public void onNext(String s) {

Log.e(“TAG”, "onNext(): " + s);

}

@Override

public void onError(Throwable e) {

}

@Override

public void onComplete() {

Log.e(“TAG”, "onComplete(): ");

}

});

E/TAG: onSubscribe():

E/TAG: onNext(): a

E/TAG: o

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值