重新认识RxJava 与RxAndroid

“阅读文本大概需要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

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180116G0UCKD00?refer=cp_1026

扫码关注云+社区