Я хочу сохранить некоторые значения до того, как я закрыл приложение. Но я не знаю, должен ли я создать новый файл (.txt) и сохранить его; или я просто могу изменить файл strings.xml и когда я открою приложение в следующий раз, когда сохраненные значения будут правыми сохраненными значениями или будут значениями, которые я определяю их перед первым использованием. Я знаю, что существует действительно простой способ прочитать из файла strings.xml, и поэтому я думаю, что перед закрытием должен быть способ установить значения в этом файле (но я не могу найти в сети). Спасибо за любые примеры или ваши советы и объяснения.
Android предоставляет класс SharedPreferences, который поможет вам сохранить простые данные приложения. Вы можете использовать класс SharedPreferences для сохранения информации о конфигурации или всего, что вы хотите. Когда вы закроете приложение, вызывается onStop(), onDestroy(). Вы можете переопределить их для реализации того, что вы хотите.
Использование класса 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()
step2: Чтение с объектом 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 указывает, что общий флажок предпочтения может быть открыт только приложением, которое его создало.
Файл общих предпочтений сохраняется как файл XML в папке/data/data//shared_prefs
Сделайте операцию сохранения в своей переопределенной функции onStop(). Что касается того, где/как сохранить: следуйте примеру здесь:
http://developer.android.com/guide/topics/data/data-storage.html#pref
Вы можете сделать это, используя настройки. Проверьте этот учебник и пример
http://www.vogella.com/articles/Android/article.html#preferences
Если данные должны быть разделены между несколькими действиями, используйте Общие настройки
Лучше пойти с общим предпочтением для сохранения данных, но если вы считаете, что у вас есть больше данных, лучше перейдите в базу данных или сохраните ее как файл.
Обратитесь к LINK
onStop()
иonDestroy()
как эти методы никогда не могут быть вызваны.