当前位置: 首页 > 知识库问答 >
问题:

LiveData与可观察数据对象

佴德曜
2023-03-14

问题是:

使用LiveData及其其他功能不是更好吗?

共有1个答案

鄢子平
2023-03-14

根据LiveData文档:

LiveData是一个可观察的数据持有者类。与常规可观察的不同,LiveData是生命周期感知的,这意味着它尊重其他应用程序组件的生命周期,如活动、片段或服务。这种意识确保LiveData只更新处于活动生命周期状态的应用程序组件观察器。

所以它本质上是一个生命周期感知的可观察性,现在它是一个优势,不是吗?但是,对于只使用rxjavalivedata确实没有限制,两者可以一起使用。

 类似资料:
  • 此外,为什么Viewmodel不能观察到它自己的LiveData的变化?

  • 我有一个单独的类来处理数据提取(特别是Firebase),我通常从它返回LiveData对象并异步更新它们。现在我希望将返回的数据存储在ViewModel中,但问题是为了获得所述值,我需要观察从数据提取类返回的LiveData对象。observe方法需要一个LifecycleOwner对象作为第一个参数,但我的ViewModel中显然没有这个对象,而且我知道我不应该在ViewModel中保留对ac

  • 问题内容: 学习了Observables之后,我发现它们与Node.js流非常相似。两者都有一种机制,可在新数据到达,发生错误或没有更多数据(EOF)时通知使用者。 我很想了解两者之间的概念/功能差异。谢谢! 问题答案: 无论 观测量 和node.js中的 流 让你解决同样的根本问题:异步处理值的序列。我认为,两者之间的主要区别与激发其外观的环境有关。该上下文反映在术语和API中。 在 Obser

  • Observables 是多个值的惰性推送集合。它填补了下面表格中的空白: 单个值 多个值 拉取 Function Iterator 推送 Promise Observable 示例 - 当订阅下面代码中的 Observable 的时候会立即(同步地)推送值1、2、3,然后1秒后会推送值4,再然后是完成流: var observable = Rx.Observable.create(functio

  • 我尝试使用这个实现ViewModel。但观察者从未被调用。 基本上,这个应用程序在SAMPLE_URL上发出网络请求,将JSON转换为列表,并通过BookView显示列表。这个应用程序在没有ViewModel的情况下工作得很好。使用ViewModel,应用程序会运行,但Observer从未被调用,也没有显示任何数据。 我在这里做错了什么? BookActivity类: BookViewModel类

  • 我有一个片段和一个相应的viewmodel类。我在Fragment方法上从DB获取包装为LiveData的联系人列表。它工作得很好,我使用PagedListAdapter显示联系人列表,如下所示: 我在我的片段中添加了一个观察者,如下所示: 有一个按钮在我的片段,它把我带到另一个屏幕,在那个屏幕上我添加更多的联系人到表。但当我从那个屏幕回到我的片段时,观察者并没有被调用。这意味着返回时不会调用方法