Android – Как установить предпочтение в коде

У меня есть приложение для Android, в котором у меня есть предпочтения в XML-файле, который отлично работает. Теперь я хочу установить одну из настроек с помощью кода вместо отображения всего экрана настроек, как бы я это сделал?

Я предполагаю, что в настройках вы ссылаетесь на предпочтения вашего приложения, а не на настройки телефона Android.

Чтобы сохранить предпочтения между запусками приложения, вам необходимо выполнить следующее

  1. Создание объекта SharedPreferences

    SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE); 

    Строка n определяет ваши предпочтения, а второй аргумент – режим, к которому они будут доступны.

  2. Создание объекта редактора

     SharedPreferences.Editor editor = settings.edit(); 

    Примечание: не пытайтесь settings.editor.edit (), это не сделает постоянный объект, а приведенный ниже код не будет работать

  3. Напишите свои настройки в буфер

     editor.put...(String, value) 

    Существует множество функций put, putString, putBoolean и т. Д. Строка – это ключ («версия», «хороший запуск»), а значение – это значение («1.5.2», true)

  4. Сбросить буфер

     editor.commit(); 

    Это на самом деле пишет, что вы задали предпочтения. Если ваше приложение выйдет из строя перед этой строкой, настройки не будут записаны. Существует также документированная ошибка: commit () должен возвращать логическое значение, указывающее на успех или неудачу. Последнее, что я проверил, всегда возвращает false.

Эти настройки будут сохранены на телефоне и будут доступны только для вашего приложения.

Больше документации здесь

Я пробовал это, но не работал:

 SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE); 

Попробуйте это вместо этого:

 SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); 

Вы можете сохранить что-то в 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); } 
  • Активность Android ClassNotFoundException - все
  • Ресурсы Android XXHDPI
  • Фатальный сигнал 11 (SIGSEGV) при 0x00000000 (код = 1) - PhoneGap
  • Android: получите список друзей в facebook
  • Что именно делает почтовый метод?
  • Могу ли я переопределить кнопку «Главная» в моем приложении?
  • onIabPurchaseFinished никогда не звонил.
  • Пользовательский макет, который округляет углы его содержимого
  • База данных Android заблокирована
  • Как мы отличаемся от требований, не требующих ответа, в разрешениях Runtime Android M?
  • Как контролировать ширину и высоту диалогового windows Alert Dial по умолчанию в Android?
  • Давайте будем гением компьютера.