当前位置: 首页 > 知识库问答 >
问题:

Android中需要RXJava的主要用途在哪里

靳高明
2023-03-14

这更多的是一个建筑问题,也可能是一个观点问题。

许多Android lib在API中都有反应性方法。例如,Volley,Volley有一个很好的JSONObjectRequest将其放入RequestQueue,并且在回调onResponse中可以处理响应。

或者在Picasso中,也有一个异步调用,用于在给定的ImageView中加载图片。

所以我的问题是,Android中对RXJava的巨大需求在哪里?RXJava在哪些方面是必不可少的?

共有1个答案

乐正晟
2023-03-14

反应型不等同于“观察者模式”。回调与反应不同。自定义的回调接口要具体得多,不像RXJava的反应性实现那样容易泛化。

  1. Rxjava遵循可观察契约,这意味着它的行为本身是一致的,而且这种行为很容易被推广。
  2. RXJava使用一组基本的运算符和Java泛型来提供非常丰富的定制组合。已知可观察 的行为与可观察 的行为相同。
  3. 给定(1)和(2),您将发现您可以组合反应操作符来获得定制的行为。因此,CustomJsonObjectObservable.distinctuntilChanged()的行为方式与LongobServable.distinctuntilChanged()相同。您不需要创建一个自定义类来存储用于比较的上一项,因为操作员会为您处理该项。
  4. 引入时间的推移或多个线程是使用运算符完成的,这些方面也是可组合的。interval()运算符提供定期更新,buffer()运算符收集在一段时间内到达的数据,timeout()运算符监视数据,并在一段时间内不存在数据时通知数据。

第(4)点可能是RXJava最大的胜利。对时间的推移进行推理是非常困难的,尤其是在存在多个控制线程的情况下。RxJava控制了这些困难的领域。困难的问题并不是很难解决的,非常困难的问题通常可以分解成解决方案更容易的领域。

 类似资料:
  • 我试图理解Android的意图机制,对一个我想解决的问题感到困惑。 Android为intent提供了动作数据类别 我想问为什么数据是URI 为什么一切都不能成为一种行为和行为的范畴? URI有什么价值 我问所有这些也是因为当我看到像电话、消息和地图这样的应用程序时,他们都试图使用URI来获取一些可能通过EXTRAS获得的数据。 有人请帮我澄清Android意图机制的设计方面。

  • 但当我运行:Caused by:java.lang.IllegalStateException时:您需要将一个theme.AppCompat主题(或后代)与此活动一起使用。 我不明白,谢谢^^

  • 本文向大家介绍Kafka的主要API有哪些?相关面试题,主要包含被问及Kafka的主要API有哪些?时的应答技巧和注意事项,需要的朋友参考一下 答:Apache Kafka有4个主要API: 生产者API 消费者API 流 API 连接器API

  • 我试图在没有Java 8的Android应用程序中应用RXJava,这意味着我不能使用lambda函数。为了确保我理解基础知识,我只想看一个使用map()和reduce()的简单示例。 我试图实现的示例是求和作为String类型List提供的整数。我想把整件事包装在一个函数中,这个函数可以被调用来获得总和,而函数调用者不需要理解这个函数是通过函数编程实现的。 我已经实现了以下内容,但它似乎过于复杂