Java Android应用程序小部件,变量正在重新启动

Java Android应用程序小部件,变量正在重新启动,java,android,service,widget,Java,Android,Service,Widget,我一直在为一个应用程序开发一个小部件,但我一直遇到问题,如果我关闭应用程序,小部件将重新启动其所有值并保持工作状态。我如何保持我的小部件的值?我使用服务读取XML文件,并在关闭应用程序时将重新启动的变量的信息设置为默认值。我从小部件的onUpdate调用该服务。使用SharedReferences。通过这些,您可以将设置和持久值保存到设备的存储器中 为此,可以执行以下操作来加载设置: SharedPreferences prefs = context.getSharedPreferences("

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

使用
SharedReferences
。通过这些,您可以将设置和持久值保存到设备的存储器中

为此,可以执行以下操作来加载设置:

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
,等等)

您可能需要阅读和上的文档