我想在关闭应用之前保存一些值。但我不知道我是否必须创建一个新文件(.txt)并将其保存;或者我只是可以更改strings.xml文件,当我下次打开应用程序时,保存的值将是正确保存的值,或者是我在首次使用之前定义它们的walues。我知道存在非常简单的方法来读取strings.xml文件,因此我认为必须有一种方法在关闭之前在此文件中设置值(但我无法在网上找到)。感谢您提供任何示例或您的建议和解释。
答案 0 :(得分:4)
Android提供SharedPreferences类来帮助您保存简单的应用程序数据。 您可以使用SharedPreferences类来保存配置信息或任何您想要的内容。 当您将应用程序放在后台或关闭它时,将调用onStop()。您可以覆盖它以实现您想要的效果。
使用SharedPreferences类非常简单:
第1步:使用SharedPreferences对象编写
//Create a object SharedPreferences from getSharedPreferences("name_file",MODE_PRIVATE) of Context
private SharedPreferences pref;
pref = getSharedPreferences("info", MODE_PRIVATE);
//Using putXXX - with XXX is type data you want to write like: putString, putInt... from Editor object
Editor editor = pref.edit();
editor.putString("key5","value5");
//finally, when you are done saving the values, call the commit() method.
editor.commit()
第二步:使用SharedPreferences对象阅读
//get SharedPreferences from getSharedPreferences("name_file", MODE_PRIVATE)
SharedPreferences shared = getSharedPreferences("info",MODE_PRIVATE)
//Using getXXX- with XX is type date you wrote to file "name_file"
String string_temp = shared.getString("key5");
MODE_PRIVATE常量表示共享首选项文件只能由创建它的应用程序打开。
共享首选项文件将另存为/data/data/<package_name>/shared_prefs
文件夹
答案 1 :(得分:1)
在活动的覆盖onStop()方法中执行保存操作。 至于在哪里/如何保存:按照这里的例子:
http://developer.android.com/guide/topics/data/data-storage.html#pref
答案 2 :(得分:0)
您可以使用偏好设置。查看本教程和示例
http://www.vogella.com/articles/Android/article.html#preferences
如果必须在多个活动之间共享数据,请使用共享首选项
答案 3 :(得分:0)
最好使用共享首选项来保存数据,但如果您认为已经保存了更多数据,那么最好使用数据库或将其另存为文件。
请参阅此LINK