У меня есть приложение для Android, в котором у меня есть свои предпочтения в файле XML, который работает нормально. Теперь я хочу установить одно из предпочтений, используя код, а не отображать весь экран предпочтений. Как мне это сделать?
Android - Как установить предпочтение в коде
Ответ 1
Я предполагаю, что по предпочтениям вы ссылаетесь на настройки своего приложения, а не на настройки телефона Android.
Чтобы сохранить предпочтения между запусками вашего приложения, вам необходимо выполнить следующие действия
-
Создайте объект SharedPreferences
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
Строка n определяет ваши предпочтения, а второй аргумент - это режим, к которому они будут доступны.
-
Создание объекта редактора
SharedPreferences.Editor editor = settings.edit();
Примечание: не пытайтесь settings.editor.edit(), это не сделает постоянный объект, а приведенный ниже код не будет работать
-
Напишите ваши настройки в буфер
editor.put...(String, value)
Существует множество функций put, putString, putBoolean и т.д. Строка - это ключ ( "версия", "хороший запуск" ), а значение - это значение ( "1.5.2", true)
/li > -
Сбросить буфер
editor.commit();
На самом деле вы записываете предпочтения. Если ваше приложение выйдет из строя перед этой строкой, настройки не будут записаны. Существует также документированная ошибка: commit() должен возвращать логическое значение, указывающее на успех или неудачу. Последнее, что я проверил, всегда возвращает false.
Эти настройки будут сохранены на телефоне и будут доступны только для вашего приложения.
Дополнительная документация здесь
Ответ 2
Я пробовал это, но не работал:
SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
Попробуйте это вместо:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Ответ 3
Вы можете сохранить что-то в sharedpreferences, используя ниже код
public static void save(String valueKey, String value) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
SharedPreferences.Editor edit = prefs.edit();
edit.putString(valueKey, value);
edit.commit();
}
Чтобы прочитать настройки:
public static String read(String valueKey, String valueDefault) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(context);
return prefs.getString(valueKey, valueDefault);
}