android - 如何在 Android MVVM ViewModel 中获取上下文
问题描述
我正在尝试在我的 android 应用程序中实现 MVVM 模式。我已经读过 ViewModels 不应该包含特定于 android 的代码(以使测试更容易),但是我需要为各种事情使用上下文(从 xml 获取资源、初始化首选项等)。做这个的最好方式是什么?我看到它AndroidViewModel
引用了应用程序上下文,但是它包含特定于 android 的代码,所以我不确定它是否应该在 ViewModel 中。这些也与 Activity 生命周期事件相关,但我使用 dagger 来管理组件的范围,所以我不确定这会如何影响它。我是 MVVM 模式和 Dagger 的新手,因此不胜感激!
解决方案
您可以使用Application
由 提供的上下文AndroidViewModel
,您应该扩展AndroidViewModel
它只是一个ViewModel
包含Application
引用的上下文。
推荐阅读
- python - Groupby Sum 返回错误的总和值,因为它已在 Pandas 中相乘
- flutter - 如何在其他屏幕中使用一个屏幕的页面控制器 - Pageview Widget
- php - 连接到 EPP 服务器时不允许接收 HTTP/0.9
- javascript - 我无法在 OpenLayers 的地图上显示多面体
- python - 在python中查找数组的大小
- amazon-web-services - 从快照重建现有 EC2 实例?
- google-cloud-platform - 在 Vertex AI Predict 上指定签名名称
- c - 下面的网络代码有什么问题?
- php - PHP JSON 重定向
- shopify - 如何替换博客文章上的链接 Shopify