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

SingleLiveEvent实际上是Android架构组件库的一部分吗?,android,android-architecture-components,android-livedata,mutablelivedata,Android,Android Architecture Components,Android Livedata,Mutablelivedata,我一直在使用可以找到的SingleLiveData类。我的问题是: SingleLiveData实际上是Android架构组件的一部分吗 使用它是个好主意吗 看看这里没有SingleLiveData这样的东西。阅读@Raghu提供的链接,我发现声明: 该类是为一个示例创建的,作为一个适用于该特定场景的解决方案。它是只发送一次更新的LiveData 因此,要回答您的问题: SingleLiveData实际上是Android架构组件的一部分吗 不,不是 使用它是个好主意吗 这取决于许多因素。因为我没

我一直在使用可以找到的
SingleLiveData
类。我的问题是:

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

  • 使用它是个好主意吗

  • 看看这里没有SingleLiveData这样的东西。阅读@Raghu提供的链接,我发现声明:

    该类是为一个示例创建的,作为一个适用于该特定场景的解决方案。它是只发送一次更新的LiveData

    因此,要回答您的问题:

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

    不,不是

    使用它是个好主意吗

    这取决于许多因素。因为我没用过它,所以我会给出大概的想法。使用在演示应用程序中找到的类或其他方式可能无法保证更新或修复错误。因此,如果您非常了解这个类,可以修复可能发现的任何bug,并且如果它适合您的需要,那么就使用它

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

    由于浏览了这篇文章,我得到的印象是,他正在尝试创建某种观察者模式,因此我建议您查看rxjava

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

    不,而且不会是:。
    基本上,官方的回答是“是的,常规的livedata是不够的,所以我们在示例中引入了它,但它太黑了,不能放在图书馆里”.

    我正在使用单个UI事件,但它需要一些黑客操作才能与片段一起使用,以自动订阅/取消订阅。

    您可以阅读此内容,因为它太黑客了,但这是将单个事件提供回视图的唯一方法。这太令人沮丧了。用一句话来形容Android开发的荒谬。我建议你去看看rxjava 1)它完全违背了使用livedata的目的2)关于bug修复和维护的争论在这种情况下没有多大分量,因为类就像10行一样长,livedata不是一个反模式吗?