问题标签 [android-livedata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1940 浏览

android - Android LiveData 修改问题

我想使用 Android 新架构组件在我的 Android 应用程序中显示产品列表。我有一个 Pojo 类Products,如下所示:

网络服务返回带有分页的列表:

所以每次产品列表调用,我都会得到一组带有其他数据的产品列表。我已经定义了调用相同的方法ProductListRepository

但是我在设置 LiveData 时遇到了问题,ProductViewModel因为我想将 ListProductDetails与较旧的 List 合并,并更新其他变量的值,ProductsonSaleCount, pageNo

}

谁能帮我?

0 投票
2 回答
1367 浏览

android - 在多个进程中获取 LiveData 更新

在我的 Android 应用程序中,我使用 Room API 来保存来自网络的数据。该应用程序分为多个进程,其中一个负责同步数据(实现 SyncAdapter)。UI 在不同的进程上运行,它有自己的 DAO 来访问数据库。我的问题是,当 SyncAdapter 将新数据写入数据库时​​,我在 UI 进程上查询的 LiveData 没有得到任何更新。因为数据库是在进程之间共享的,所以我希望在所有具有反映数据库的 LiveData 的进程上调用 OnChanged,这意味着所有进程都可以观察数据库的变化

0 投票
0 回答
569 浏览

android - 实时数据,存储库被多次调用android

我正在研究 Google 的新Android Architecture Component AAC

我的问题

类内的方法ViewModel被多次调用,导致错误

1 getLoggedInUser() 被多次调用

2在改造的 onNext() 或 onError() 之前,onChanged()被调用

我的活动

视图模型

0 投票
1 回答
451 浏览

mvvm - 如何使用 MVVM Android 架构调试 API 响应

我试图从远程 API 获取数据,遵循 MVVM 和Google 架构模式:

  • 实时数据
  • 改造 2
  • 匕首 2
  • 可观察的
  • 数据绑定

我的问题是:

如何调试 Api 响应?

在我的上一个项目中(使用 Asynctask、改造和 GSON)我可以在 Api 响应的那一刻停止,所以我可以看到响应的标头,如果它是 200 响应或 404。然后我可以看到 Api 的 json回复之类的……

使用这个 repo,我看不到我上面所说的任何内容,例如,我不知道收到的数据是否正常,或者模型是否填充了 JSON 响应。

我不会复制和粘贴代码,因为我正在使用上面的 repo 进行学习,我认为我的问题更具理论性

有人对这种新模式和架构有过像我一样的感觉吗?

有人可以帮我解决我的问题吗?

谢谢!

0 投票
2 回答
2879 浏览

android - 让 Room DAO 返回 LiveData

你知道如何让 Room DAO 返回 aLiveData<Cursor>吗?


我需要从我的数据库中请求很多对象。
由于内存问题,我买不起沉重的对象列表,我需要一个光标。
当然数据可以更新,我需要在它发生时得到通知。
所以 aLiveData<Cursor>应该是一个很好的解决方案。

但是,当我编译这个时:

Android Studio 对我说: Error:(22, 22) error: Not sure how to convert a Cursor to this method's return type

好吧...请不要告诉我我们无法通过光标获得数据更新通知:/

0 投票
1 回答
808 浏览

android - Android 架构组件、android 绑定和 LiveData

我想知道 android 绑定是否与概念级别的实时数据兼容。有一个简单的任务:单击按钮后调用服务器。所以在我看来我有

并且在 ViewModel 中定义了正确的 onOrderButtonClick(View) 方法。但是为了通过 LiveData 进行服务器调用,我需要我的 Fragment 引用(observe() 方法需要 LifecycleOwner 实例作为第一个参数)。当然,我不能在我的 ViewModel 中引用片段。这里的模式是什么?我真的需要在片段类中实现所有事件方法并将它们委托回视图模型类吗?

0 投票
5 回答
3789 浏览

android - LiveData 是抽象的 android

我尝试初始化我的 LiveData 对象,它给出了错误:“LiveData 是抽象的,它不能被实例化”

LiveData listLiveData = new LiveData<>();

0 投票
1 回答
1409 浏览

android - 如何通过 cursorAdapter 使用新的系统架构 ViewModel/LiveData?

在学习新的 android Architecture 组件的 ViewModel 和 LiveData 时,在观察 LiveData 从数据库源更改中更改时会有些困惑,以及这将如何与 Cursor 适配器一起工作。

https://developer.android.com/reference/android/widget/CursorAdapter.html中,它说

因此,使用 cursorAdaptor 可以在更新数据库数据时获得“实时更新”。

有没有办法通过 cursorAdaptor 使用 LiveData(观察数据库数据更新)?

试图在下面的代码段中显示在哪里使用 liveData 更新光标的问题:(使用https://codelabs.developers.google.com/codelabs/android-persistence的示例)

书:

视图模型:

这是使用 LiveData 观察者强制重新加载光标的方法吗?

0 投票
2 回答
14629 浏览

android - Android MediatorLiveData 观察者

我对为什么以下代码不起作用感到有些困惑:

这段代码看起来很简单,但是调试器没有进入回调并且没有任何内容记录到控制台......

编辑:这不应该工作吗?

0 投票
3 回答
11465 浏览

java - 将多个 LiveData 值映射为一个

因此,在iOS开发中,我使用ReactiveCocoa并使用该框架,我能够观察多个NSObjects并将它们组合成signal返回 aa 值的 a。像这样的东西:

因此,这将返回一个boolean为假或真的。只要其中一个对象的状态发生变化,就会通知该信号,subscriber (Observer)然后将获得该布尔值的当前值。

我该如何做类似的事情,使用LiveData?最接近这样做的是,MediatorLiveData但是,我不知道如何同时观察多个LiveData事件然后减少它,就像上面的例子一样。