前言
一、什么是RxJava?
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
这是github地址的解释,RxJava是使用观察者队列的异步事件流链式编程框架。既然是框架,我们就需要去学习怎么使用然后再去了解原理。
二、Rxjava使用篇
参考文档: 官方文档
常见名词:
Observer(观察者) Observable(被观察者) Subscribe(订阅) Scheduler(调度器) flat(铺平) lift(转化)
Operator(操作者)
概念
- Observer:观察者
- Observable:被观察者
- Subscribe:订阅
回调
- onNext():事件触发
- onCompleted():事件队列完结。不会有新的
onNext()发出,触发onCompleted - onError():事件队列异常。事件处理发生异常,
onError()会触发,同时队列自动终止,不允许再有事件发出。
onCompleted()和onError只会触发一个(互斥),而且都是最后一个事件。
Observer
调度器 Scheduler
Schedule.io():核心线程为1的 ScheduledThreadPool
evictor = Executors.newScheduledThreadPool(1, EVICTOR_THREAD_FACTORY);
SubscribeOn(): 指定subscribe() 发生的线程,即Observable.onSubscribe() 被激活所处的线程,事件产生的线程。
observeOn():Subscribe运行的线程,事件消费线程。
变换
map:
flatmap:
三、RxJava原理篇
四、适用场景
- 和
Retrofit结合 - RxBinding
- 异步操作
- RxBus
思维导图

本文是RxJava的学习笔记,首先介绍RxJava的基本概念,包括观察者、被观察者和订阅等,接着详细阐述了如何使用RxJava进行事件处理,包括Scheduler的运用和变换操作如map、flatmap。同时,文中提到了RxJava在Android开发中的适用场景,如RxBinding、异步操作和RxBus,并提供了思维导图帮助理解。

449

被折叠的 条评论
为什么被折叠?



