版本 第二版
平台 安卓10
语言 Kotlin 1.3.
编辑 安卓Studio 4.0.

使用Rxjava学习Kotlin的反应性编程!

您不仅会学习如何在Android上使用Rxjava在Android上创建复杂的无功应用程序,您还可以通过使用rxjava,rxandroid和rxkotlin来了解如何解决常见的应用程序设计问题。最后,您将发现如何完全控制图书馆并利用您在您的应用中的反应编程的全部功能。具体地,学习通过Rx-Deviewabes和观察者中的两个关键概念来处理异步事件序列。使用Rxjava和Companion库蜂拥而至,使您可以轻松地使用应用程序的UI,为处理用户事件提供无功方法。挖掘中间和高级主题,例如错误处理,调度员,应用架构,存储库和与Android Jetpack集成rxjava。

在你开始之前

本节告诉您您在开始之前需要了解一些需要了解的事情,例如您需要的硬件和软件,在哪里找到本书的项目文件等等。

i

关于封面

自由

III

第一节:rxjava入门

在本书的这一部分,您将了解Rxjava的基础知识。您将看看Rxjava地址的异步编程问题,以及提供什么样的解决方案。

此外,您将了解允许您创建和观察事件序列的几个基本类,这是RX框架的基础。

你将通过了解基础知识和一点理论来开始缓慢。请不要跳过这些章节!当事情变得更加复杂时,这将允许您在以下部分中取得良好的进展。

了解反应性编程范式以及Rxjava可以带到您的应用程序。

1

可观察到

自由

现在你已经准备好使用了rxjava并学到了一些基本概念,是时候播放观察到的时间。

2

主题

自由

在本章中,您将要了解rxjava中不同类型的主题,看看如何与每个人一起工作,以及根据某些常用用例,为什么您可以选择一个以上。

3

在本章中,您将使用rxjava和您的新可观察到的超级大国来创建一个应用程序,让用户创建漂亮的照片拼贴 - 反应方式。

4

第二节:运营商& Best Practices

操作员是RX的构建块,您可以使用它来转换,处理和对可观察到发出的事件作出反应。

就像你可以相结合的简单算术运营商一样 +, -, 和 / 要创建复杂的数学表达式,您可以将RX的简单运算符组合在一起,以表达复杂的应用程序逻辑。

在本章中,您将转到:

  • 首先调查过滤运算符,允许您处理一些事件但忽略其他事件。
  • 继续转换转换运算符,允许您创建和表达复杂的数据转换。您可以例如从按钮事件开始,将其转换为某种输入,进程,并返回一些输出以在App UI中显示。
  • 调查组合运营商,允许大多数其他运营商的强大组成。
  • 探索允许您完成时间的操作员:延迟事件,在时间段内分组事件,以及更多。虽然所有章节,以及在本节结束时,您将能够编写简单的rxjava应用程序!

本章将教导您有关Rxjava的过滤运算符,可以使用要将条件约束应用于“下一个”事件,以便用户仅接收它想要处理的元素。

5

在上一章中,您开始介绍Rxjava的功能侧。在本章中,您将尝试在真实应用程序中使用过滤运算符。

6

在本章中,您将学习RXJava中最重要的运营商之一:转换运营商。

7

在本章中,您将采用现有应用程序,并在您了解更多有关地图和FlatMap的情况下添加rxjava转换运算符,并在哪些情况下在您的代码中使用它们。

8

本章将显示几种不同的方式来组装序列,以及如何将数据组合在每个序列中。

9

你会有机会尝试一些最强大的rxjava运营商。您将学会解决类似于您在自己的应用程序中的问题。

10

管理序列的时间维度很重要。要了解基于时间的运算符,您将使用动画应用程序练习,该应用程序可直观地演示数据如何随时间流动。

11

第三节:中间rxjava

一旦您使用rxjava编写完整的应用程序,您还需要处理更多中间主题,而不是简单地观察事件并使用Rx处理它们。

在完整的生产质量应用程序中,您需要构建一个错误处理策略,做更先进的多线程处理,创建一个稳固的测试套件,更多。

在本书的这一部分中,您将通过五章工作,将您的RX状态从新秀水平升到战斗所测试的战士。

即使是最好的rxjava开发人员也无法避免遇到错误。您将学习如何处理错误,如何通过重试管理错误恢复,或者只是向宇宙投降并让错误转到。

12

本章将涵盖调度员背后的美容,在那里您将了解RX抽象为什么如此强大,为什么使用异步编程的工作程度不那么痛苦,而不是使用锁定或队列。

13

观察到非常强大,但如果订阅者无法跟上下一个事件,会发生什么?您将了解如何使用流动的方式处理此情况。

14

测试您的代码是写作良好的软件的核心 - rxjava附带了很多漂亮的技巧,用于测试太阳下的一切。

15

除了使用rxjava直接提供的元素,您还可以在现有的非RX框架周围创建rxjava包装。您将了解如何在反应应用程序中创建和将此类包装器创建。

16

第四节:rxjava社区食谱

RXJava的普及每天都在努力。由于围绕本库中形成的友好和创造性的社区,很多社区驱动的RX项目正在Github上发布。

使用rxjava的社区构建库的优势在于,与需要遵循RX标准的主要存储库不同,这些库可以在实验和探索不同的方法,提供非多平台专业化等等。

在本节中,您将考虑众多社区开源项目中的一些。该部分包含四个简短的饼干式章节,简要介绍四个社区项目,帮助您使用改装,持久首选项数据和处理用户权限与您的服务器进行绑定。

您将了解极其方便的库Rxbinding如何为Android视图类进行反应绑定,并查看如何在应用程序中使用RxBinding。

17

在早期的章节中,您已经使用改装来向您的反应应用程序添加网络。在本章中,完全探索与RX世界的改装接口,并了解如何利用其所提供的所有所提供的。

18

rxpreferences.库提供了在SharedPreferences周围的反应包装器。在本章中,您将了解图书馆的工作原理以及如何使用它来有效地流偏好更改。

19

有一个名为rxpermissions的奇妙的库,您将在本章中使用,以帮助缓解询问用户在运行时执行权限的疼痛点,在请求权限时给出反应流。

20

第五节:把它整合在一起

书中的“简单”部分结束了。如果您认为这一点并希望在使用rxjava开始创建生产应用程序的情况下,请访问更多,这部分是适合您的。

本节中的两章将帮助您了解如何使用rxjava构建现实生活应用程序。

第一章将介绍将rxjava与Android Jetpack的组件集成,特别是房间数据库库和寻呼库。本章将在与Jetpack的ViewModel和LiveData组件一起使用的书中获得的知识。

第二章和本书中的最后一个,将向您展示如何设置反应应用架构以及如何将回调转换为RX可观察到。

完成此部分后完成工作后,您将成为其中的顶级rxjava开发人员。当然,有更多要了解RX,但此时你将能够进一步弄清楚自己的东西。

另外,不要忘记回馈社区!如果我们不可能将这本书放在一起,而没有所有的惊人的RX人们分享他们的知识,代码和好共鸣。

安卓Jetpack是Android团队提供的一套库,以制作Android应用程序一条微风。您已经看到了与rxjava一起使用的ViewModel和Liveata。在本章中,您将浏览使用RETPACK中的房间和寻呼库组件在反应应用程序中。

21

要结束本书,您将建立架构师并代码一个小的rxjava应用程序。目标不是在所有成本上使用RX,而是制定设计决策,导致具有稳定,可预测和模块化行为的整洁架构。该应用程序简单的设计,清楚地存在您可以用来建立自己的应用程序的想法。

22

23

见团队

贡献者

这本书是给谁的

本书适用于Android开发人员,他们已经对Android SDK和Kotlin感到满意,并希望与Rxjava,Rxkotlin和RxAndroid深入发展。

本书涵盖的概念

  • 入门
  • 事件管理
  • 选择性
  • UI开发
  • 中间主题:无功网络,误差处理和调度率
  • 高级主题:应用程序架构,存储库和与Android Jetpack的rxjava集成

版本历史记录

第二版·Android 10,Kotlin 1.3,Android Studio 4.0

v2.0·8月6日2020·Marin Todorov,亚历克斯沙利文,斯科特加德纳,佛罗伦特港& Junior Bontognali
pro

用kotlin的反应性编程

由Marin Todorov,Alex Sullivan,斯科特加德纳,佛罗伦特省和初学者Bontognali

这本书教导您使用Rxjava,RxAndroid和RxKotlin在Android上创建复杂的无功应用程序,并完全控制图书馆,以利用您在应用中的反应性编程的全部功能。

免费阅读Ultimate Pro订阅* *包括我们在线图书馆中的所有其他书籍 查看所有优点
单独购买59.99美元* *包括访问所有在线阅读功能。
请参阅购买选项
隐藏购买选项

所有视频。所有书籍。
One low price.

A RaywenderLich.com订阅是学习和掌握移动开发的最佳方式 - 计划从19.99美元/月开始!

了解iOS,Swift,Android,Kotlin,Flutter和Dart开发,并解锁我们的50+书籍和4,000多个视频的大规模目录。