SharedPreferences - Разница между этими двумя способами получения значения предпочтения? - PullRequest
1 голос
/ 08 марта 2019

Я использую Preference-API ..
Обычно, когда мне нужно получить значение предпочтения, я сейчас делаю что-то вроде этого:

final SharedPreferences getPrefs = 
    PreferenceManager.getDefaultSharedPreferences(getActivity());

boolean isThisPrefEnabled = getPrefs.getBoolean(REFERENCE_TO_PREF_NAME, false);
//  OR
String theChosenPref = getPrefs.getString(PREF_NAME, DEFAULT_VALUE);

Но ялюбопытно, разве я не могу так сделать?и если да, то в чем разница?

Preference nameOfPref = findPreference(PREFERENCE_KEY);

boolean isPrefEnabled = nameOfPref.isEnabled();
//  OR
String thePrefValue = nameOfPref.toString();

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

1 Ответ

0 голосов
/ 08 марта 2019

SharedPreferences - это специфичный для Android интерфейс документация

android.content.SharedPreferences : это хранилище ключей / значений, в котором можно сохранять данные вопределенный ключ.Чтобы прочитать данные из магазина, вы должны знать ключ данных.Это делает чтение данных очень простым.Но хранить небольшой объем данных так же просто, как и сложно хранить и читать большие структурированные данные, так как вам необходимо определить ключ для каждой отдельной информации, более того, вы не можете реально искать в данных, если у вас нет определенной концепции дляименование ключей.

Предпочтения - это базовый класс Java Документация

java.util.prefs.Preferences : ЭтоКласс позволяет приложениям хранить и извлекать пользовательские и системные предпочтения и данные конфигурации.Эти данные постоянно хранятся в зависимом от реализации резервном хранилище.

...