Search code examples
androidandroid-preferencesandroid-sharedpreferences

Android preferences - what is the difference?


What is the difference, when I get preferences as:

PreferenceManager.getDefaultSharedPreferences(getBaseContext());

and

getPreferences(Context.MODE_PRIVATE);

Solution

  • PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    

    Will provide an access to a preferences file that is global for the whole application package ; any activity can access the preferences (internaly, the xml file holding the preferences will be named your.application.package_preferences.xml).

    contextInstance.getPreferences(Context.MODE_PRIVATE);
    

    Will provide preferences only for the contextInstance class: only instances of the context's class can access these preferences (said your package is still your.application.package and you're in your.application.package.foo.MyActivity, internaly the preferences file is foo.MyActivity.xml).