内容简介
第1章 走进RxJava的世界
1.1响应式编程
1.2什么是RxJava
1.3 Observable和Subscriber
1.3.1 Single:单个数据的生产者
1.3.2 Completable:单个事件的生产者
1.4在Android工程中引入RxJava
第2章 RxJava中的操作符
2.1创建Observable的操作符
2.1.1 range
2.1.2 defer和just
2.1.3 from
2.1.4 interval
2.1.5 repeat和timer
2.2转化Observable的操作符
2.2.1 buffer
2.2.2 flatMap
2.2.3 groupBy
2.2.4 map
2.2.5 cast
2.2.6 scan
2.2.7 window
2.3过滤操作符
2.3.1 debounce
2.3.2 distinct
2.3.3 elementAt
2.3.4 filter
2.3.5 first和last
2.3.6 skip和take,skipLast和takeLast
2.3.7 sample和throttleFirst
2.4组合操作符
2.4.1 combineLatest
2.4.2 join和groupJoin
2.4.3 merge和mergeDelayError
2.4.4 startWith
2.4.5 switch
2.4.6 zip和zipWith
2.5错误处理操作符
2.5.1 onErrorRetum
2.5.2 onErrorResumeNext
2.5.3 onExceptionResumeNext
2.5.4 retry
2.6辅助操作符
2.6.1 delay
2.6.2 do
2.6.3 materialize和dematerialize
2.6.4 subscribeOn和observeOn
2.6.5 timeInterval和hmeStamp
2.6.6 timeout
2.6.7 using
2.7条件操作
2.7.1 all
2.7.2 amb
2.7.3 contains
2.7.4 isEmpty
2.7.5 defaultIfEmpty
2.7.6 sequenceEqual
2.7.7 skipUntil和skipWhile
2.7.8 takeUntil和takeWhile
2.8聚合操作符
2.8.1 concat
2.8.2 count
2.8.3 reduce
2.8.4 collect
2.9与Connectable Observable相关的操作符
2.9.1 publish和connect
2.9.2 refCount
2.9.3 replay
2.10自定义操作符
2.10.1 lift
2.10.2 compose
第3章 使用Scheduler进行线程调度
3.1什么是Scheduler
3.2 Scheduler的类型
3.2.1 computation
3.2.2 newThread
3.2.3 io
3.2.4 immediate
3.2.5 trampoline
3.2.6 from
3.3总结
第4章 RxJava的实现原理
4.1数据的发送和接收
4.1.1创建Observable的过程
4.1.2订阅的过程
4.2操作符的实现
4.2.1 lift的工作原理
4.2.2 map的工作原理
4.2.3 flatMap的工作原理
4.2.4 merge的工作原理
4.2.5 concat的工作原理
4.3 Scheduler的工作原理
4.3.1 Scheduler源码
4.3.2 subscribeOn的工作原理
4.3.3 observeOn的工作原理
第5章 RxJava的应用实例
5.1计算π的值
5.2图片的三级缓存
5.2.1内存缓存
5.2.2外存缓存
5.2.3网络缓存
5.2.4缓存管理
5.2.5封装
5.2.6运行测试
5.3结合Retrofit和OkHttp访问网络
5.3.1卡片类的定义
5.3.2配置OkHttp
5.3.3配置Retrofit
5.4使用RxLifecycle避免内存泄漏
5.4.1修改demo工程
5.4.2绑定其他生命周期
5.5使用RxBinding绑定各种View事件
5.5.1绑定点击事件
5.5.2绑定TextWatcher
5.5.3绑定OnPageChangeListener
第6章 RxJava 2的改进
6.1 Observable和Flowable
6.2 null的使用
6.3 Single和Completable
6.4 Maybe
6.5 Subscriber
6.5.1 DefaultSubscriber
6.5.2 ResourceSubscriber
6.5.3 Disposable Subscriber
6.6 Action和Function
6.7错误处理
6.8 Scheduler