“阅读文本大概需要5.8分钟。
00
—
什么是响应式编程?
是一种基于异步数据流概念的编程模式。其关键概念是事件。使用场景:UI(通用),起源于微软响应式扩展,是一种函数响应式编程,早期来源于设计微软的RX库。
01
—
RxJava是什么?
是一种异步操作的库,来源于Netflix公司在业务架构上遇到问题,尝试把微软的RX库迁移到JVM上,来重构当前架构来减少REST调用的次 数。
RxJava特点:
RxJava是一个小于1M的jar包,是一种轻量级的框架。支持Java8 lambda,支持Java 6+&Android 2.3+,支持异步和同步。
RxJava的扩展的观察者模式,多了两个事件
onCompleted()事件和onError()事件
这两个 事件是组合而不是嵌入的,避免陷入回调地狱。
观察者模式四大要素
Observable被观察者
Observer观察者
subscribe订阅
事件
观察者模式:
扩展的观察者模式:
02
—
RxAndroid是什么?
是RxJava针对Android平台的一个扩展,用于Android开发,提供响应式扩展组件快速,易于开发Android应用程序。
重要概念:RxJava调度器——Schedulers
用来解决Android主线程问题,解决多线程线程问题。
03
—
RxJava常用操作符(难点)
分类:
创建Observable
转换
过滤
组合
处理错误
Create 、Just、From、Defer、Empty/Nerver/Throw
Interval、Range、Repeat、Start、Timer等。
04
—
相关学习资源
RxJava文档:
https://github.com/ReactiveX/RxJava/wiki
RxAndroid文档:
https://github.com/ReactiveX/RxAndroid
RxJava经典资料:
https://github.com/lzyzsd/Awesome-RxJava
那些不能激励自己的人一定是甘于平庸的人,无论他们的其他才能有多么令人印象深刻。
——Andrew Carnegie
领取专属 10元无门槛券
私享最新 技术干货