SingleLiveEvent实际上是Android架构组件库的一部分吗?

Arc*_*nes 8 android android-livedata android-architecture-components mutablelivedata

我一直在使用这里SingleLiveData可以找到的课程.我的问题是:

  1. SingleLiveData实际上是Android架构组件的一部分?

  2. 使用它是个好主意吗?

Ghe*_*eon 7

SingleLiveEvent实际上是Android体系结构组件库的一部分吗?

不,它不会是:https : //issuetracker.google.com/issues/122413110。基本上,官方的回答是“是的,常规的实时数据还不够,因此我们在示例中进行了介绍,但是它太笨拙了,无法在库中使用”

  • 一句话就说明了Android开发的荒唐之处。 (7认同)
  • 太麻烦了,但它是将单个事件提供回视图的唯一方法。如此令人沮丧。 (5认同)

Ste*_*goo 6

查看实时数据及其父/子继承,没有SingleLiveData这样的东西.阅读@Raghu提供的链接,我发现声明:

SingleLiveEvent类是用于样品作为该特定情况下工作的解决方案创建的.它是一个仅发送一次更新的LiveData.

那么回答你的问题:

SingleLiveData实际上是Android架构组件的一部分吗?

不它不是!

使用它是个好主意吗?

这取决于许多因素.由于我没有使用它,我会给出一般的想法.使用您在演示应用程序或其他方式中找到的类可能无法保证更新或修复错误.因此,如果您对该课程了解得那么好,您可以修复您可能找到的任何错误,如果它符合您的需要,那么请使用它.

但一般来说,如果我能找到维护良好且做同样工作的东西,我会避免这种情况.

从浏览文章我得到的印象是他试图制作某种观察者模式,我建议你查看rxjava

  • SingleLiveData 不是一种反模式吗? (2认同)