这更像是一个架构问题,也可能是一个观点问题。
许多Android库在API中都有被动方法。例如Volley
,Volley有一个很好的JsonObjectRequest
可以将它放入RequestQueue
,而回调onResponse
则可以处理响应。
或者在Picasso
中,您还有一个异步调用,只是在给定的ImageView中加载图片。
在适用于Android的新持久工具ObjectBox
中,您还可以采用被动方法来设置和查询数据库中的数据。
所以我的问题是,Android中RXJava的需求在哪里? UseCases中哪些是RXJava必不可少的?
答案 0 :(得分:1)
Reactive与"观察者模式"不同。回电与被动不一样。定制的回调接口更加具体,并不像RxJava的反应式实现那样易于概括。
Observable<CustomJsonObject>
的行为方式与Observable<Long>
相同。customJsonObjectObservable.distinctUntilChanged()
的行为方式与longObservable.distinctUntilChanged()
相同。您不需要创建一个存储上一个项目的自定义类进行比较,因为操作员会为您处理。interval()
运算符提供定期更新,buffer()
运算符收集在一段时间内到达的数据,timeout()
运算符监视数据并在一段时间内不存在时通知。Point(4)可能是RxJava的最大胜利。关于时间流逝的推理,特别是在存在多个控制线的情况下,是非常困难的。 RxJava将这些困难区域置于控制之下。困难问题并不是很难解决,而且很难将问题分解成更容易解决的问题。
Volley没有解决难题。它提供异步响应,并且仅解决上面第(1)项的一小部分。它没有涉及(2),(3)或(4)。