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

问题描述 投票:6回答:2

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

  1. SingleLiveData实际上是Android架构组件的一部分吗?
  2. 使用它是个好主意吗?
android android-architecture-components android-livedata mutablelivedata
2个回答
5
投票

看看Live data and its Parent/Children inheritance没有SingleLiveData这样的东西。阅读@Raghu提供的链接,我发现声明:

SingleLiveEvent类是为样本创建的,作为适用于该特定方案的解决方案。它是一个仅发送一次更新的LiveData。

那么回答你的问题:

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

不它不是!

使用它是个好主意吗?

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

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

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


3
投票

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

不,它不会是:https://issuetracker.google.com/issues/122413110。基本上,官方的答案是“是的,常规的liveata是不够的,所以我们在我们的例子中介绍了它,但是在图书馆里太过于hacky”。

© www.soinside.com 2019 - 2024. All rights reserved.