Android LiveData保留了该值,并允许它观察更改并尊重应用程序组件的生命周期。
我有一个列表和一个适配器,我从服务中获取列表,当列表到达时,我将其交给带有submitlist的适配器。当我创建提交列表时,列表会正确显示,但是当它转到...
Android 的干净架构 (MVVM) 中的视图、视图模型、用例、存储库、服务和 dao 之间的通信
使用君主国数据库,dao 提供 liveData。存储库使用 liveData 上的 .asFlow 将 liveData 作为流程提供给用例。 useCase 需要将流程返回到 ViewModel a...
活动未观察到 ViewModel (MVVM) 中 LiveData 的更新
如果有人发现我的实现有问题,我将非常感激知道它是什么。该活动似乎没有观察到我正在制作的 MutableLiveData 的更新。 查看Mo...
我们应该为每个活动创建一个单独的存储库还是为整个应用程序创建一个存储库
我的应用程序遵循 MVVM 架构。在 Activity 中,如果新闻尚未缓存,我需要从 URL 获取 News()。 Activity 将要求 ViewModel 提供 News Json,ViewModel 将查看...
映射的 LiveData 在 getValue() 调用上返回 null
我正在我的项目中构建一个viewModel,并且我编写了一个像这样的LiveData集 私有 val _user = MutableLiveData() val 用户= _user val id = _user.map { 如果(某事){ ...
将 MutableList 包装在 LiveData 或 MutableLiveData 中
将 MutableList 包装在 LiveData 或 MutableLiveData 中的推荐方法是什么,以便可以修改列表并观察它所经历的更改? 我有一些相当短的...
在我的 MenuFragment 中,我显示可以添加到购物车的产品,当我单击日志中的任何产品时,我看到该产品已添加到列表中并且列表已更新,但是当我转到
如何在Android中使用MutableLiveData和LiveData?
我已经通过以下 3 种方式使用了 MutableLiveData 和 LiveData,没有发现任何区别。 // 1 私有 val _way1 = MutableLiveData() val way1 get() = _way1 // 2 私人...
在我的登录页面中,当我单击带有有效电子邮件和密码的登录按钮时,它将进入主页。然后当我从那里注销并重定向到登录页面时。然后我面临的是当我cli...
使用 Firebase Auth 成功登录后,我的 Fragment 会收到当前用户详细信息。有了这些,我想查找具有相同用户 ID 的现有数据库记录,如果不存在,
我正在练习撰写以及基于布局的应用程序,因为它是可互操作的 我在使用 RememberCoroutineScope 观察撰写屏幕内视图模型的实时数据时遇到问题。 共...
Android ViewModel MutableLiveData 多次更新
场景 你好, 我有一个带有 ViewPager 的活动。在 ViewPagerAdapter 中,我使用不同的数据创建同一片段的实例。 在每个实例中我初始化一个 ViewModel 瓦尔
findFirstAsync() 返回“无效对象”,但 findFirst() 或 findAllAsync() 有效
我正在尝试使用 findFirstAsync 创建对 Realm 的异步调用。 Realm.getDefaultInstance().where().findFirstAsync() 但它总是会导致“无效对象”(它并不粗鲁......
我正在尝试了解实时数据生成器。据我所知,您需要提供协程上下文、超时和挂起函数来创建实时数据。 coroutine conte 的默认值...
我的视图模型中有以下内容 val currentStockPriceAsLiveData: LiveData = stockPriceDataSource.latestStockList .map { 股票列表 -> UiState.成功(
我在我的应用程序中使用 LiveData、DataBinding 和 Kotlin。 我为 RecyclerView 定义了一个 Binding Adapter,如下所示: 类 MainListBindings { 私有 val TAG =“TasksListBindings”
ViewModel使用Database Room错误Android Studio
我目前面临一个错误,其中home片段并使用viewmodel、recyclerview来实现CRUD。错误是我在登录片段中使用 ID 和密码登录的地方,出现错误...
在此处查看问题的 gif 如果项目的视图同时更新,则移动动画会滞后。为什么会发生这种情况? fileViewModel.getAllfiles().observe(这个,新的观察者 如果项目的视图同时更新,则移动动画会滞后。为什么会出现这种情况? fileViewModel.getAllfiles().observe(this, new Observer<List<File>>() { @Override public void onChanged(List<File> files) { adapter.submitList(files); } }); 进度像这样更新,更新数据库并触发观察者 fileViewModel.setDownloadProgress(file.getFileId(), percentage); 下载的下只有一两项也不卡 每当发生更改时,您似乎都会替换整个文件列表。 不推荐这种做法,因为它会增加时间复杂度。 您应该只通知 RecyclerView 适配器发生的实际更改。在您的情况下,您只更改一项。 参考官方文档和最佳实践:https://developer.android.com/topic/performance/vitals/render#recyclerview_notifydatasetchanged
我是 Android 开发新手。 当屏幕方向改变时尝试保留状态。 我有一个带有字段 url 的歌曲模型。我想播放 url 中的 mp3 文件。 演奏的是
正如我在标题中提到的,我很好奇两者之间的一般差异。你能帮忙吗?我找不到具体的区别,因为互联网上有复杂的例子......