问题标签 [android-viewmodel]
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.
android - 从 ViewModel 观察 LiveData
我有一个单独的类,我在其中处理数据获取(特别是 Firebase),我通常从中返回 LiveData 对象并异步更新它们。现在我想将返回的数据存储在 ViewModel 中,但问题是为了获得所述值,我需要观察从我的数据获取类返回的 LiveData 对象。观察方法需要一个 LifecycleOwner 对象作为第一个参数,但我的 ViewModel 中显然没有它,我知道我不应该在 ViewModel 中保留对 Activity/Fragment 的引用。我应该怎么办?
android - AndroidViewModel - 进行重复调用不会在观察函数中返回数据
我的问题与ViewModel 第二次返回 nullobserve
有关,如果我重复调用服务器,我不会在函数中获得回调。以下是我正在使用的代码 -
在 Activity 中,ViewModel 定义如下 -
该observeViewModel
函数用于添加 observable on ViewModel
。
在上面的函数中取消注释以下行允许回调每次都来,但必须有一个正确的方法来做到这一点。
请注意:- 我不需要 RxJava 实现来实现它。
android - ViewModel 类中的依赖注入
因此,我一直在阅读有关 AndroidViewModel
类和应用程序架构指南的内容,我发现视图模型是通过以下方式获得的:
您不直接实例化该类,而是使用ViewModelProviders
该类。
到目前为止,一切都很好。然后,该指南显示了如何“连接”UserProfileViewModel
与存储库UserRepository
:
正如上面的评论所说,UserRepository
由 Dagger 注入(@Inject
构造函数中的注释)。
如果我们不使用 Dagger 2 怎么办?如何在视图模型类中注入依赖项?
android - ViewModel 长时间没有清空
我有一项服务应该在主要活动被破坏后继续工作一段时间(2 分钟)
在我在 Activity.onStop 中取消绑定服务之前,但现在我将代码移动到 ViewModel(以使我的生活更轻松)并注意到即使我切换到其他应用程序也不会调用 MainActivity onDestroy。
只要 MainActivity 没有被销毁,MainViewModel 就会在后台运行很长一段时间。
其他活动没有这样的问题,当我点击背部时它们会被破坏。
有没有办法让操作系统更频繁地杀死主要活动?
android - 如何使用新的架构组件跟踪 android 中的当前位置?
我有一个项目,我已经成功实现了位置跟踪功能,并且运行良好。我每 30 秒使用融合位置提供程序跟踪用户当前位置。(跟踪在 MainActivity 开始时开始)。
现在我打算用新引入的 android 架构组件来更新那个项目。但我不知道如何使用视图模型实现位置跟踪。在MainActivity 或 Application类中开始位置跟踪的正确位置在哪里?我应该使用ViewModel 还是 AndroidViewModel?如何实现这一点。
android - 如何将 AAC ViewModel 与本机活动/片段一起使用?
看起来 ViewModelProviders.of() 需要 FragmentActicity 或 support.v4。要传入的片段。在我的情况下,我有一个库,它提供从应用程序活动扩展的活动,所以我不能使用支持一个。虽然 AAC 不稳定,但我们需要实现 LifecycleOwner,现在有类似的东西吗?任何想法都会非常有帮助:)
android - ViewModel 不能在 Activity 中实例化
我正在尝试实例化一个 ViewModel 以在我的所有活动中使用。
control = ViewModelProviders.of(this) <--
但我在声明它无法解析时遇到错误of(this)
,但基于 Android Developer on Implementing ViewModel 的示例;扩展 ViewModel 的类应该能够在 Activity 上实例化,对吗?
如果我做错了,我应该如何为我的 Activity 实例化一个 ViewModel 对象?我是否必须n
使用 Fragment 创建多个 Activity,因为ViewModelProviders.of()
仅适用于 Fragment?
android - 当数据未更改时,Android ViewModel/MutableLiveData onChanged 在新片段中被调用
我遇到了 Android Mutable Live Data 的问题,这可能是因为我的理解不足。场景是我的 Android 选项卡中有 3 个列表。
在我的活动中,我打开了我的第一个片段。在这我称之为
public void openSort(SortType sortType)
到目前为止一切正常。然后我继续打开另一个包含第二个片段的选项卡。这第二个片段在它的
由于某种原因,第二个片段的 onChanged 也会被调用。我的假设是 onChanged 方法仅在视图模型中的数据更改时被调用,但似乎数据由 LiveData 存储并且再次通知观察者。
我们可以做些什么,以便在可变实时数据发生更改时“仅”通知片段?
java - 如何使用房间数据库中的参数调用 LivePagedListProvider
接口松到{
}
类 SongViewModel(app: Application) : AndroidViewModel(app) {
}
我想在我的 AndroidViewModel 中调用 getAllSong 函数
我想用传递的实际参数替换“1989 taylor swift”,以及它是如何传递给它的