gpt4 book ai didi

android - 访问共享首选项存储库中的 appcontext(架构)

转载 作者:太空狗 更新时间:2023-10-29 13:03:37 25 4
gpt4 key购买 nike

根据官方指南,我目前正在努力研究 android 平台的架构组件:

在我的应用程序中,我目前需要存储一个字符串列表(名称)并在多个位置( Activity 和服务)访问它。我想到了 2 种可能的方法:

1) 将它们以逗号分隔存储在共享首选项中。
2) 创建一个实体和房间表,名称作为唯一列。

我更喜欢第一种方法,因为我只需要将名称作为一个字符串来执行 contains() 操作。为此,使用房间数据库似乎更麻烦。

我的具体问题是:将 appcontext 存储在存储库类(这是一个单例)中是否可以,或者我是否违反了任何约定/架构规则?或者实际为此使用空间会更好吗?

最佳答案

如果你想使用组件架构,并且你的repository需要与需要context的数据源通信,比如room或SharedPreferences .. 您需要从 AndroidViewModel 扩展您的 ViewModel,这将为您提供一个 context,您可以将其传递到您的 存储库 使用它来访问 Room 数据库或 SharedPreferences。在存储库中使用 context 没有问题,即使它是单例,您已经需要它来访问 Room。

关于android - 访问共享首选项存储库中的 appcontext(架构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51956772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com