В чем разница, когда я получаю предпочтения как:
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
и
getPreferences(Context.MODE_PRIVATE);
В чем разница, когда я получаю предпочтения как:
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
и
getPreferences(Context.MODE_PRIVATE);
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Предоставляет доступ к файлу настроек, который является глобальным для всего пакета приложения; любое действие может получить доступ к настройкам (внутренне файл xml, содержащий настройки, будет называться your.application.package_preferences.xml
).
contextInstance.getPreferences(Context.MODE_PRIVATE);
Предоставляет настройки только для класса contextInstance: только экземпляры класса контекста могут получить доступ к этим настройкам (говорится, что ваш пакет все еще your.application.package
, а вы находитесь в your.application.package.foo.MyActivity
, внутренний файл настроек foo.MyActivity.xml
).
.getDefaultSharedPreferences(getBaseContext())
, смогут ли другие приложения редактировать это значение?
- person LA_; 13.04.2011
getDefaultSharedPreferences(Context context)
даст вам предпочтения в Context.MODE_PRIVATE
(согласно android.git.kernel.org/?p=platform/frameworks/ ). Может быть, вы могли бы попробовать что-то вроде того, что объяснено в последнем сообщении этой темы groups .google.com/group/android-developers/browse_thread/thread/ . Сам не пробовал, надеюсь поможет.
- person OcuS; 14.04.2011