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

голоса
38

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

Задан 16/02/2009 в 03:26
источник пользователем
На других языках...                            


3 ответов

голоса
118

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

Для хранения предпочтений между прогонами вашего приложения вам нужно сделать следующее

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

    SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
    

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

  2. Инстанцировать объект Editor

    SharedPreferences.Editor editor = settings.edit();
    

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

  3. Запишите свои предпочтения в буфер

    editor.put...(String, value)
    

    Есть многочисленные функции положить, putString, putBoolean и т.д. Строка ключа ( «версия», «хорошо работать») и является значение ( «1.5.2», правда)

  4. Промойте буфер

    editor.commit();
    

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

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

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

Ответил 16/02/2009 в 07:02
источник пользователем

голоса
8

Я попытался это, но не получилось:

SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);

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

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Ответил 01/12/2011 в 18:04
источник пользователем

голоса
2

Вы можете сохранить что-то в 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);
}
Ответил 29/04/2016 в 05:32
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more