我一直在为应用程序开发一个小部件,但我一直遇到问题,如果我关闭应用程序,小部件会重新启动他的所有值并继续工作。如何保留小部件的值?如果我关闭我的应用程序,我正在使用服务来读取 XML 文件并将重新启动的变量的信息设置为默认值。我从小部件的 onUpdate 调用服务。
问问题
664 次
1 回答
2
使用SharedPreferences
. 这些使您可以将设置和持久值保存到设备的存储中。
为此,您可以执行以下操作来加载设置:
SharedPreferences prefs = context.getSharedPreferences("SETTINGS", 0);
int x = prefs.getInt("x", 5); // Pulls an integer with key "x", defaulting to 5 if it's not set
String y = prefs.getString("y", null); // Pulls an string with key "y", defaulting to null if it's not set
您可以像这样保存设置:
SharedPreferences prefs = context.getSharedPreferences("SETTINGS", 0);
Editor edit = prefs.edit();
edit.putInt("x", 27);
edit.putString("y", "Some string");
edit.commit();
注意:我在SETTINGS
这里调用了这些项目,但是您希望稍后再次加载的任何基本类型的数据都可以存储(String
、int
、float
等)。
您可能需要阅读有关存储选项和SharedPreferences
.
于 2012-11-05T21:51:59.660 回答