1

我一直在为应用程序开发一个小部件,但我一直遇到问题,如果我关闭应用程序,小部件会重新启动他的所有值并继续工作。如何保留小部件的值?如果我关闭我的应用程序,我正在使用服务来读取 XML 文件并将重新启动的变量的信息设置为默认值。我从小部件的 onUpdate 调用服务。

4

1 回答 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这里调用了这些项目,但是您希望稍后再次加载的任何基本类型的数据都可以存储(Stringintfloat等)。

您可能需要阅读有关存储选项SharedPreferences.

于 2012-11-05T21:51:59.660 回答