我必须花费大量时间在业务逻辑中学习和实现Livedata (尤其是MediatorLivedata),因为它有助于添加来自各种来源的数据。我成功地使用了它,因为我可以将FCM、网络或RoomDatabase作为不同的源添加到我的MediatorLivedata中,并在ViewModel中观察它。它的可伸缩性非常好。然而,它仍然缺乏强大的RxJava2实现,比如很好地链接请求,平面图等等。看起来RxJava主要用于业务逻辑,但实际上,我看到很多公司使用带有UI的RxJava,并添加了额外的功能/库。这实际上使得LiveData在表示逻辑中无关紧要。因此,我想知道LiveData在表示逻辑(在ViewModel中使用)方面是否比RxJava更好/更干净。展望未来,你的建议是什么?
发布于 2018-08-05 22:48:55
与LiveData相比,RxJava既不是更好也不是更差,它是不同的。安卓架构组件旨在为安卓开发人员提供一个模型架构模式。因此,如果您对LiveData感到满意,就使用它,或者如果您对RxJava很满意,就使用它。您可以使用这两个库执行所有操作。虽然RxJava确实包含了很多语法糖,但使用Livedata也可以达到同样的效果。
发布于 2018-11-16 15:02:11
我认为你可以同时使用RxJava和LiveData。RxJava将在模型层下使用,将其用于请求,并从服务器或本地数据库接收数据。
然后,LiveData将被注册到活动/片段,因为使用LiveData您可以轻松地处理活动/片段生命周期,而它就是为此目的而设计的。
https://stackoverflow.com/questions/51665564
复制相似问题