В чем разница между java.util.prefs.Preferences
и android.content.SharedPreferences
? Похоже, что они для схожих вещей - вы можете поставить и получить значение по ключу в обоих из них, но Preferences выглядит как что-то более сложное и относится больше к ОС, чем к приложению.
В чем разница между Preferences и SharedPreferences в Android?
Ответы (2)
Настройки — это основной класс Java link1.
java.util.prefs.Preferences: этот класс позволяет приложениям хранить и извлекать данные о пользовательских и системных настройках и настройках. Эти данные постоянно хранятся в резервном хранилище, зависящем от реализации.
SharedPreferences — это специальный интерфейс для Android link2.
android.content.SharedPreferences: интерфейс для доступа и изменения данных о предпочтениях, возвращаемых функцией getSharedPreferences(String, int). Для любого конкретного набора предпочтений существует единственный экземпляр этого класса, который используется всеми клиентами.
Настройки: часть настроек пользовательского интерфейса. Он содержит различные классы, которые позволяют создавать экраны настроек из кода или XML.
Общие настройки. Они используются для хранения значений в XML-файлах. Эти файлы создаются, поддерживаются и удаляются Android для вас. Они не зашифрованы и могут быть легко изменены, когда пользователь рутирует свой телефон. Не используйте их для конфиденциальной информации. Упомянутые выше настройки используют общие настройки в качестве базовой системы.
Чтобы получить доступ ко всем настройкам, мы используем SharedPreferences как
SharedPreferences sharedPreferences = getPreferenceScreen().getSharedPreferences();
тогда как для обработки определенного предпочтения мы используем
Preference p = getPreferenceScreen().getPreference(index);