android-livedata相关内容

使用视图模型和改造的用户登录

我正在尝试使用改造和视图模型进行登录 我仅通过改造就成功登录...参考本教程-->https://www.youtube.com/watch?v=j0wH0m_xYLs 我还没有找到任何与使用 viewmodel 登录相关的教程 发现了这个stackoverflow问题,但仍然没有答案-->如何进行改造 API 调用使用 LiveData 和 ViewModel 请求方法发布 ..
发布时间:2021-11-27 19:00:52 移动开发

从 Fragment 返回时,多次调用 ViewModel onchange

我正在使用 Android 架构组件.我想要的是当用户在 Edittext 中键入“0"并单击 Button 以将 Fragment 替换为新的片段时,如果键入任何其他内容,则发布 Toast 错误消息.问题是当我从新的 Fragment(BlankFragment) 返回并再次单击按钮并再次键入“0"并单击时,onchange() 被多次调用,因此 Fragment 是多次创建 Fragm ..
发布时间:2021-11-27 19:00:23 移动开发

是否可以制作两个 LiveData 的一个 LiveData?

我有两个 DAO、两个存储库和两个 POJO.有什么方法可以创建两个的一个 Livedata?我需要它来为 Recyclerview 制作单个列表.POJO 是类似的对象. 费用存储库: 公共类 ExpenseRepository {私人费用道费用道;私有 LiveData>所有费用;公共费用存储库(应用程序应用程序){ExpenseIncomeDatabase 数据库 = Expense ..
发布时间:2021-11-27 19:00:04 移动开发

Room :来自 Dao 的 LiveData 将在每次更新时触发 Observer.onChanged,即使 LiveData 值没有变化

我发现Dao返回的LiveData会在DB中更新行时调用它的观察者,即使LiveData值明显没有改变. 考虑类似以下示例的情况: 示例实体 @Entity公共类用户{公共长ID;公共字符串名称;//其他变量的例子公共日期 lastActiveDateTime;} 例道 @Dao公共接口 UserDao {//我只对用户名感兴趣@Query("选择用户名")LiveData>ge ..
发布时间:2021-11-27 18:59:49 移动开发

从前台服务观察 LiveData

我有一个存储 LiveData 对象的存储库,两者都使用活动和前台服务通过 ViewModel.当我从活动开始观察时,一切都按预期进行.然而,从服务观察不会触发观察.这是我使用的代码 class MyService: LifecycleService() {lateinit var viewModel: PlayerServiceViewModel覆盖乐趣 onCreate() {viewMod ..
发布时间:2021-11-27 18:59:38 移动开发

仅通过当前数据使用 MediatorLiveData 的最佳实践

将 MediatorLiveData 用于多个源的最佳实践是什么? 我在 ViewModel 中有一个 MediatorLiveData,它是从数据视图中访问的,最终应该呈现出来. MediatorLiveData 依赖于多个其他 LiveData.其中一些来自存储库层,其中一些必须在 ViewModel 中处理,然后才能从 MediatorLiveData 访问,还有一些来自 Vie ..
发布时间:2021-11-27 18:59:19 移动开发

当项目添加到 LiveData 列表时通知观察者

当项目被添加到 LiveData 列表时,我需要获得一个观察者事件.但据我所知,只有当我用新列表替换旧列表时才会收到事件.例如,当我做下一个: list.value = mutableListOf(IssuePost(UserEntity(name, email, photoUrl), issueEntity)) 观察者获取事件.但是当我只是将 item 添加到 value 时,Observe ..
发布时间:2021-11-27 18:59:11 移动开发

如何创建发出单个事件并仅通知最后订阅的观察者的 LiveData?

我创建了一个实时数据,它发出一个事件,就像在这个 example. 接下来我的问题是:当 LiveData 中的值发生变化时,如何仅通知最后订阅的观察者? 我想到的是将观察者存储在 SingleLiveData 类的链表中,然后仅当传递的观察者与列表的最后一个元素相同时才调用 super.observe. 我不确定这是否是最好的方法. 我想使用这种机制将 FAB 单击事件从 ..

是observeForever 生命周期意识吗?

我正在使用 MVVM,并且已经对其进行了不同的实现,但仍然让我怀疑的一件事是如何从我的 ViewModel 的存储库 (Firebase) 获取数据而不将任何生命周期附加到 ViewModel. 我已经从 ViewModel 中实现了 observeForever(),但我认为这不是一个好主意,因为我认为我应该通过回调或转换从我的存储库到我的 ViewModel 进行通信. 我在这里留 ..

Android Arch 组件 ViewModel 和 LiveData 在屏幕旋转后触发

我在使用 ViewModel 和 LiveData 架构组件时遇到问题.当使用 fragments 并旋转屏幕时,观察者被触发... 我试图移动 viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)在所有片段生命周期方法中,但没有成功. 我的场景相对简单: 使用电子邮件和密码登录屏幕 用户点 ..

从 ViewModel 观察 LiveData

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