标签
内容简介
响应式编程是一种基于异步数据流概念的编程模式。在开发手机 App、Web App 时,要想保证对用户请求的实时响应、给用户带来流畅的体验,响应式编程是一个不错的选择,而 RxJava 正是这一编程模式在 Java 平台上的实现。本书主要介绍如何使用 RxJava 进行响应式编程,全书共 6 章:第 1 章从响应式编程讲起,介绍 RxJava 是什么、Observable 与 Subscriber 的角色分工,以及在 Android 工程中引入 RxJava 的方法;第 2 章按照官方示意图的分类,系统梳理 RxJava 中的创建、转化、过滤、组合、错误处理、辅助、条件、聚合以及与 Connectable Observable 相关的操作符,并说明如何自定义操作符;第 3 章介绍各种 Scheduler 的特点与适用场景,帮助读者按需选择合适的线程调度方式;第 4 章结合源码分析数据的发送与接收、操作符的实现以及 Scheduler 的工作原理;第 5 章给出若干实用案例,例如计算 π 值、图片三级缓存、结合 Retrofit 与 OkHttp 访问网络、用 RxLifecycle 避免内存泄漏、用 RxBinding 绑定 View 事件;第 6 章介绍 RxJava 2 相对 RxJava 1 的改进,包括 Observable 与 Flowable 的分工、对 null 的处理、Single/Completable/Maybe、Action 与 Function 等内容。全书篇幅不大,配有大量示例,适合作为 RxJava 的入门与速查读物。
编辑推荐
RxJava 的学习曲线不算平缓:概念抽象,操作符又多,许多初学者卡在“看得懂单个示例、串不成一条链”这一步。这本书的价值在于把入口铺平:先用一章讲清响应式编程与 Observable/Subscriber 的关系,再把操作符按官方示意图的类别归堆,读者可以按需求去查,而不是死记硬背。第 3 章专门讨论 Scheduler 的选择,第 4 章往下钻一层讲源码,这是不少同类入门书容易略过的部分。第 5 章的案例有很强的工程色彩:图片三级缓存、Retrofit+OkHttp 网络请求、RxLifecycle 防内存泄漏、RxBinding 处理 View 事件,基本都是 Android 开发中会真实遇到的场景,可以直接改造成项目骨架。第 6 章对 RxJava 1 到 RxJava 2 的变化做了归纳,方便从旧版本迁移的读者对照。全书 228 页、约 30 万字,体量克制,适合作为案头常备的第一本 RxJava 书;需要说明的是,书中内容以 RxJava 1.x 为主体、以 RxJava 2 为补充介绍,如今若在新项目中使用更高版本,仍需结合官方文档补充阅读。
适合谁读
适合
- 刚接触 RxJava、希望系统建立概念框架的 Android 开发者
- 已经在项目里用 RxJava,但操作符与 Scheduler 用法常拿不准的工程师
- 想理解 RxJava 内部实现原理、准备阅读源码的 Java 开发者
- 需要为团队新人准备一份 RxJava 入门材料的资深工程师
不适合
- 完全没有 Java 与 Android 基础、尚未写过异步代码的读者
- 希望直接学习最新版 RxJava 与 Spring WebFlux 响应式栈的读者
- 期望获得大量完整商业项目级架构讲解的架构师
阅读建议
- 先通读第 1 章与第 4 章,建立数据流与订阅关系的整体图景,再回头细读操作符。
- 第 2 章不必一次读完,可把它当作速查手册,遇到具体需求时按类别翻阅对应操作符。
- 阅读第 4、5 章时打开 IDE 跟着敲示例,改参数、加日志观察线程切换与数据流动。
- 读完第 6 章后对照官方文档整理一份 RxJava 1 与当前版本的差异清单,避免沿用旧写法。
出版社简介
电子工业出版社
中国 · 成立于 1982 年
电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。
目录
- 第1章 走进RxJava的世界:1.1 响应式编程;1.2 什么是RxJava;1.3 Observable和Subscriber;1.4 在Android工程中引入RxJava
- 第2章 RxJava中的操作符:2.1 创建Observable的操作符;2.2 转化Observable的操作符;2.3 过滤操作符;2.4 组合操作符;2.5 错误处理操作符;2.6 辅助操作符;2.7 条件操作;2.8 聚合操作符;2.9 与Connectable Observable相关的操作符;2.10 自定义操作符
- 第3章 使用Scheduler进行线程调度:3.1 什么是Scheduler;3.2 Scheduler的类型;3.3 总结
- 第4章 RxJava的实现原理:4.1 数据的发送和接收;4.2 操作符的实现;4.3 Scheduler的工作原理
- 第5章 RxJava的应用实例:5.1 计算π的值;5.2 图片的三级缓存;5.3 结合Retrofit和OkHttp访问网络;5.4 使用RxLifecycle避免内存泄漏;5.5 使用RxBinding绑定各种View事件
- 第6章 RxJava 2的改进:6.1 Observable和Flowable;6.2 null的使用;6.3 Single和Completable;6.4 Maybe;6.5 Subscriber;6.6 Action和Function;6.7 错误处理;6.8 Scheduler
常见问题
这本书讲的是 RxJava 1 还是 RxJava 2?
主体内容以 RxJava 1 的概念与操作符为主,第 6 章专门介绍 RxJava 2 相对 RxJava 1 的改进,如 Observable 与 Flowable 的分工、null 的处理、Single/Completable/Maybe 等。若在 RxJava 2 及以上版本的项目中使用,建议同步查阅官方文档。
没有 Android 开发经验能读懂吗?
可以读懂概念与操作符部分,因为示例多为纯 Java 逻辑;但第 5 章涉及 RxLifecycle、RxBinding、图片三级缓存等内容,需要一定的 Android 基础才能完全吃透。
书中的示例代码多不多?
前言与官方介绍均强调配有丰富示例,第 2 章几乎每个操作符都配示意图和示例代码,第 5 章则给出完整度较高的应用案例,可直接参照动手实践。
这本书适合作为教学或培训教材吗?
篇幅约 228 页、六章结构清晰,章节可独立成讲座单元,适合作为内部培训的入门讲义;但书中不包含课后习题与系统性项目,作为正式课程教材还需自行补充练习。
和《RxJava 2.x 实战》有什么区别?
两书均由电子工业出版社出版,作者不同。《RxJava响应式编程》篇幅更短,偏入门与速查,并设有源码原理章节;《RxJava 2.x 实战》体量更大,直接以 RxJava 2 为主线,示例覆盖 Android 与 Java 后端。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。