gpt4 book ai didi

android - 如何存储小部件的数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:08:53 25 4
gpt4 key购买 nike

我正在创建一个小部件,我需要为其存储一些数据。我的小部件没有 Activity,因此我无法使用 SharedPreferences。我存储的数据非常小,但访问频率很高,因此使用数据库就有点过分了。我想过使用简单的文件,但这似乎不是一个好的解决方案。有什么方法可以为小部件存储简单数据吗?

最佳答案

您不需要Activity 来存储首选项,只需一个Context。在扩展 AppWidgetProvider 的类中,您应该在所有相关方法(例如 onUpdateonDeleted)中接收上下文。

然后您可以使用 PreferenceManager 获取首选项对象并将您需要的内容存储在其中,例如:

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String value = prefs.getString("key-string", null);
if(value != null)
{
// do stuff
}
}

作为旁注,您提到您考虑过使用文件,但出于性能原因不想使用。 SharedPreferences 对象实际上最终使用简单的文件,它们只是由 Android 为您管理。如果您要经常访问它,您仍然需要注意性能。 SQLite 数据库也是如此,因为它们也只是文件。

关于android - 如何存储小部件的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5834274/

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