import android.preference.PreferenceManager;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
// then you use
prefs.getBoolean("keystring", true);
Обновить
Согласно общим настройкам | Учебник для разработчиков Android (часть 13) Сай Гита М.Н.,
Многие приложения могут предоставлять способ захвата пользовательских настроек в настройках конкретного приложения или действия. Для поддержки этого Android предоставляет простой набор API.
Предпочтения обычно представляют собой пары имя-значение. Они могут храниться в виде «общих настроек» для различных действий в приложении (обратите внимание, что в настоящее время они не могут быть разделены между процессами). Или это может быть что-то, что должно быть сохранено для определенной деятельности.
Общие предпочтения. Общие предпочтения могут использоваться всеми компонентами (действиями, службами и т. Д.) Приложений.
Предпочтения, обработанные действием: эти предпочтения могут использоваться только внутри конкретного действия и не могут использоваться другими компонентами приложения.
Общие настройки:
Общие предпочтения управляются с помощью getSharedPreferences
метода Context
класса. Предпочтения хранятся в файле по умолчанию (1), или вы можете указать имя файла (2), которое будет использоваться для обращения к предпочтениям.
(1) Рекомендуется использовать режим по умолчанию без указания имени файла.
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
(2) Вот как вы получаете экземпляр при указании имени файла
public static final String PREF_FILE_NAME = "PrefFile";
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
MODE_PRIVATE
режим работы для предпочтений. Это режим по умолчанию и означает, что созданный файл будет доступен только вызывающему приложению. Поддерживаются два других режима: MODE_WORLD_READABLE
и MODE_WORLD_WRITEABLE
. В MODE_WORLD_READABLE
другом приложении может прочитать созданный файл, но не может изменить его. В случае MODE_WORLD_WRITEABLE
других приложений также есть права на запись для созданного файла.
Наконец, когда у вас есть экземпляр предпочтений, вот как вы можете извлечь сохраненные значения из предпочтений:
int storedPreference = preferences.getInt("storedInt", 0);
Для хранения значений в файле настроек SharedPreference.Editor
должен использоваться объект. Editor
является вложенным интерфейсом в SharedPreference
классе
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Редактор также поддерживает такие методы, как remove()
и clear()
для удаления значений предпочтений из файла.
Настройки деятельности:
Общие настройки могут использоваться другими компонентами приложения. Но если вам не нужно делиться настройками с другими компонентами и вы хотите иметь личные настройки активности, вы можете сделать это с помощью getPreferences()
метода действия. getPreference
Метод использует getSharedPreferences()
метод с именем класса активности для имени файла предпочтений.
Ниже приведен код для получения настроек
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
Код для хранения значений такой же, как и в случае общих настроек.
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();
Вы также можете использовать другие методы, такие как сохранение состояния активности в базе данных. Примечание Android также содержит пакет под названием android.preference
. Пакет определяет классы для реализации пользовательского интерфейса настроек приложения.
Чтобы увидеть еще несколько примеров, проверьте публикацию Android Data Storage на сайте разработчиков.
package.prefs
но я не уверен.Если у вас нет доступа
getDefaultSharedPreferenes()
, вы можете использоватьgetSharedPreferences(name, mode)
вместо этого, вам просто нужно ввести правильное имя.Android создает это имя (возможно, на основе имени пакета вашего проекта?). Вы можете получить его, поместив следующий код в a
SettingsActivity
onCreate()
и посмотрев, чтоpreferencesName
есть.Строка должна быть что-то вроде
com.example.projectname_preferences
. Жесткий код, который где-то в вашем проекте, и передать его,getSharedPreferences()
и вы должны быть в порядке.источник
Сначала объявите эти методы.
Затем вызывайте это, когда хотите поставить преф:
звоните, когда хотите получить преф:
Или вы можете использовать этот объект https://github.com/kcochibili/TinyDB--Android-Shared-Preferences-Turbo, который еще больше упрощает все
Пример:
источник
необходимость передавать контекст вокруг меня действительно раздражает. код становится слишком многословным и неуправляемым. Я делаю это в каждом проекте вместо ...
и установить его в основной деятельности создать
также все предпочтительные ключи должны быть независимыми от языка, я шокирован, что никто не упомянул это.
теперь назовите это очень просто, как это в одной строке кода
источник
getApplicationContext()
если у вас есть флажок, и вы хотите получить его значение, то есть истина / ложь в любом файле Java -
Use--
источник
Обновлено 2019
Вы можете просто использовать
PowerPreference
библиотекуhttps://github.com/AliEsaAssadi/Android-Power-Preference
Получение экземпляра общего предпочтения
Чтобы получить экземпляр по умолчанию, вам просто нужно позвонить
Или, если вы хотите конкретный файл настроек
Запись данных:
Получение данных
источник
Попробуйте следующий исходный код, он работал для меня
источник