代码之家  ›  专栏  ›  技术社区  ›  Archie G. Quiñones

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

  •  6
  • Archie G. Quiñones  · 技术社区  · 6 年前

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

    1. 单活数据 实际上是Android架构组件的一部分吗?

    2. 用它是个好主意吗?

    2 回复  |  直到 6 年前
        1
  •  6
  •   Stefano Mtangoo    6 年前

    看着 Live data and its Parent/Children inheritance 不存在SingleLiveData。阅读@Raghu提供的链接,我发现声明:

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

    所以要回答你的问题:

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

    不,不是!

    用它是个好主意吗?

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

    但一般情况下,如果我能找到一些维护良好的工作,我会避免这样做。

    从浏览这篇文章中,我得到的印象是他试图创建某种观察者模式,因此我建议您查看rxjava

        2
  •  8
  •   Ghedeon    5 年前

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

    不,不会是: https://issuetracker.google.com/issues/122413110 . 基本上,官方的答案是 “是的,常规的livedata是不够的,所以我们在示例中引入了它,但是它太黑了,不能放在库中” .