В настоящее время я прохожу курс Udacity «Разработка приложений для Android». В сегменте «Урок 3: Новые действия и намерения > Использование общих настроек» инструктор попросил меня покопаться на сайте Android Developer, чтобы узнать, как получить пользовательские настройки от SharedPreferences
. Однако я нашел разницу между официальной документацией и решением курса.
В решении курса Udacity говорится, что для захвата экземпляра SharedPreferences
для PreferenceActivity
необходимо вызвать:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
(где getActivity()
здесь просто Context
, потому что он вызывается внутри Fragment
.)
В то время как в официальной документации на сайте разработчиков Android указано, что вы следует позвонить:
SharedPreferences prefs = getActivity().getPreferences(Context.MODE_PRIVATE)
Так в чем разница между PreferenceManager.getDefaultSharedPreferences(Context context)
и Activity.getPreferences(int mode)
?
Обратите внимание: этот вопрос не касается getSharedPreferences()
, для которого требуется имя файла. Речь идет о разнице между getPreferences()
и getDefaultSharedPreferences()
.
Заранее спасибо.