计算机
类型
4.4
豆瓣评分
可以朗读
语音朗读
324千字
字数
2018-04-01
发行日期
展开全部
主编推荐语
《RxJava基本概念与操作符实例讲解》
内容简介
本书首先通过一个简单RxJava程序勾勒出使用RxJava的基本步骤。然后开始介绍RxJava的基本概念,同时还用实例讲解如何使用一些常用的创建操作符。接下来会学习RxJava的线程处理,以及更多的操作符包括:变换操作、过滤操作、条件操作、布尔操作、结合操作和连接操作。接着学习RxJava的高级特性,包括RxJava的BackPressure,以及RxJava2.x时如何使用各种BackPressure策略。Disposable的使用,RxJava1.x将Subscription改名为Disposable,以及CompositeDisposable的使用。最后,学习Parallel flows,它是RxJava2.0.引入的新特性。最后讲解其他的函数式编程,包括Java9的新特性、RxKotlin。
目录
- 版权信息
- 内容简介
- 前言
- 编写这本书的目的
- 读者对象
- 如何阅读本书
- 勘误和支持
- 致谢
- 读者服务
- 第1章 RxJava简介
- 1.1 你需要了解的函数响应式编程
- 1. 响应式编程(Reactive Programming,简称RP)
- 2. 函数式编程(Functional Programming,简称FP)
- 3. 函数响应式编程(Functional Reactive Programming,简称FRP)
- 1.2 RxJava简介
- 1. RxJava产生的由来
- 2. 什么是Rx
- 3. ReactiveX的历史
- 4. Rx模式
- 1.3 为何选择RxJava
- 1. Observable是如何实现的
- 2. 使用回调存在很多问题
- 3. Rx是一个多语言的实现
- 4. 响应式编程
- 1.4 RxJava能做什么
- 1.5 RxJava 2的Hello World
- 1.6 小结
- 第2章 RxJava基础知识
- 2.1 Observable
- do操作符
- 2.2 Hot Observable和Cold Observable
- 1. Observable的分类
- 2. Cold Observable
- 3. Cold Observable如何转换成Hot Observable
- 4. Hot Observable 如何转换成 Cold Observable
- 2.3 Flowable
- 2.4 Single、Completable和Maybe
- 1. Single
- 2. Completable
- 3. Maybe
- 4. 小结
- 2.5 Subject和Processor
- 2.5.1 Subject 是一种特殊的存在
- 1. Subject的分类
- 2. Processor
- 小结
- 2.6 小结
- 第3章 创建操作符
- 3.1 create、just和from
- 1. create
- 2. just
- 3. from
- 3.2 repeat
- 1. repeatWhen
- 2. repeatUntil
- 3.3 defer、interval和timer
- 1. defer
- 2. interval
- 3. timer
- 3.4 小结
- 第4章 RxJava的线程操作
- 4.1 调度器(Scheduler)种类
- 1. RxJava线程介绍
- 2. Scheduler
- 4.2 RxJava线程模型
- 1. 线程调度器
- 2. 线程调度
- 3. 示例
- 4.3 Scheduler的测试
- 4.4 小结
- 第5章 变换操作符和过滤操作符
- 5.1 map和flatMap
- 1. map操作符
- 2. flatmap操作符
- 5.2 groupBy
- 5.3 buffer和window
- 1. buffer操作符
- 2. window操作符
- 5.4 first和last
- 1. first操作符
- 2. last操作符
- 5.5 take和takeLast
- 1. take操作符
- 2. takeLast操作符
- 5.6 skip和skipLast
- skip操作者
- 2. skipLast操作符
- 5.7 elementAt和ignoreElements
- 1. elementAt操作符
- 2. ignoreElements
- 5.8 distinct和filter
- 1. distinct操作符
- 2. filter操作符
- 5.9 debounce
- 5.10 小结
- 第6章 条件操作符和布尔操作符
- 6.1 all、contains和amb
- 1. all操作符
- 2. contains操作符
- 2. amb操作符
- 6.2 defaultIfEmpty
- 6.3 sequenceEqual
- 6.4 skipUntil和skipWhile
- 1. skipUntil操作符
- 2. skipWhile操作符
- 6.5 takeUntil和takeWhile
- 1. takeUntil操作符
- 2. takeWhile操作符
- 6.6 小结
- 第7章 合并操作符与连接操作符
- 7.1 merge和zip
- 1. merge操作符
- 2. zip
- 7.2 combineLatest和join
- 1. combineLatest操作符
- 2. join操作符
- 7.3 startWith
- 7.4 connect、push和refCount
- 7.5 replay
- 7.6 小结
- 第8章 RxJava的背压
- 8.1 背压
- 8.2 RxJava 2.x的背压策略
- 1. MISSING
- 2. ERROR
- 3. BUFFER
- 4. DROP
- 5. LATEST
- 8.3 小结
- 第9章 Disposable和Transformer的使用
- 9.1 Disposable
- 9.2 RxLifecycle和AutoDispose
- 1. RxLifecycle
- 2. AutoDispose
- 9.3 Transformer在RxJava中的使用
- 1. Transformer的用途
- 2. 与compose操作符结合使用
- 9.4 小结
- 第10章 RxJava的并行编程
- 10.1 RxJava并行操作
- 1. 借助flatMap实现并行
- 2. 通过Round-Robin算法实现并行
- 10.2 ParallelFlowable
- 10.2.1 ParallelFlowable介绍
- 1. ParallelFlowable实现并行
- 2. ParallelFlowable 与 Scheduler
- 10.2.2 ParallelFlowable的操作符
- 10.2.3 ParallelFlowable和Flowable.flatMap比较
- 10.3 小结
- 第11章 RxBinding的使用
- 11.1 RxBinding简介
- 1. RxBinding介绍
- 2. 响应式的Android UI
- 11.2 RxBinding使用场景
- 1. 点击事件
- 2. 长点击事件
- 3. 防止重复点击
- 4. 表单的验证
- 5. 获取验证码倒计时
- 6. 对RecyclerView的支持
- 7. 对UI控件进行多次监听
- 11.3 RxBinding结合RxPermissions的使用
- 11.3.1 Android 6.0之后权限的改变
- 11.3.2 RxPermission的介绍
- 11.3.3 RxBinding结合RxPermissions
- 1. 在RxBinding中使用RxPermissions
- 2. RxBinding结合compose,使用RxPermissions
- 3. 使用多个权限的用法
- 11.4 RxBinding使用的注意点
- 11.5 小结
- 第12章 RxAndroid 2.x和Retrofit的使用
- 12.1 RxAndroid 2.x简介
- 1. 介绍
- 2. 使用
- 12.2 Retrofit简介
- 12.3 Retrofit与RxJava的完美配合
- 12.4 小结
- 第13章 开发EventBus
- 13.1 传统的EventBus
- 13.2 开发一个新的EventBus(一)
- 13.3 开发一个新的EventBus(二)
- 13.4 开发一个新的EventBus(三)
- 13.5 开发一个新的EventBus(四)
- 13.6 小结
- 第14章 使用RxJava封装HttpClient 4.5
- 14.1 HttpClient的介绍
- 14.2 使用RxJava进行重构
- 14.3 实现一个简单的图片爬虫
- 14.4 小结
- 第15章 Spring Boot和RxJava 2
- 15.1 模拟Task任务
- 1. Spring
- 2. Spring Boot
- 15.2 构建一个给爬虫使用的代理IP池
- 1. 设计一个代理IP池
- 2. 数据存MongoDB
- 3. 具体实现
- 4. 定时任务
- 5. 展示到前端
- 15.3 小结
- 第16章 Java 8的函数式编程
- 16.1 Java 8的新变化
- 16.2 函数是一等公民
- 16.3 Lambda表达式
- 1. JDK中的函数式接口举例
- 2. 简化的Lambda ——方法引用(Method Reference)
- 16.4 Java 8新增的Stream
- 16.4.1 Stream的特性
- 16.4.2 Java 8新增的函数式接口
- 1. Function
- 2. Predicate
- 3. Consumer
- 4. Supplier
- 16.4.3 Stream用法
- 1. Stream的创建
- 2. 中间操作
- 3. 结束操作
- 16.4.4 并行流
- 16.5 函数的柯里化
- 1. 借助Java 8实现柯里化
- 2. 柯里化的好处
- 16.6 新的异步编程方式CompletableFuture
- 1. Future
- 2. CompletableFuture介绍
- 2. CompletableFuture介绍
- 3. CompletableFuture特性
- 4. CompletableFuture VS Java8 Stream VS RxJava 1 & RxJava 2
- 16.7 小结
- 第17章 Kotlin和RxJava
- 17.1 Kotlin简介
- 1. 为何需要Kotlin?
- 2. Kotlin 概述
- 17.2 使用Kotlin来封装图像框架
- 1. Kotlin + RxJava 2 封装滤镜的操作
- 2. DSL风格的编程
- 3. Anko
- 4. 封装cv4j图像处理框架
- 17.3 小结
- 第18章 展望未来
- 18.1 期待已久的Java 9
- 18.2 其他的Reactive Streams项目
- 1. Reactor 3
- 2. Akka Streams
- 3. Vert.x
- 4. Slick
- 18.3 小结
- 附录A RxJava常用的操作符列表
- 附录B RxJava中常用的library
- B.1 Android相关的library
- 1. RxLifecycle
- 2. RxLifecycle
- 3. AutoDispose
- 4. RxBinding
- 5. Retrofit
- 6. sqlbrite
- 7. Android-ReactiveLocation
- 8. RxLocation
- 9. rx-preferences
- 10. RxPermissions
- 11. ReactiveNetwork
- 12. RxDownload
- B.2 Java服务端相关的library
- 1. Hystrix
- 2. rxjava-jdbc
- 3. Camel RX
- 4. vertx-rx
- 5. async-http-client
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。