Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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);
}