Android preferences - what is the difference?
Asked Answered
A

1

13

What is the difference, when I get preferences as:

PreferenceManager.getDefaultSharedPreferences(getBaseContext());

and

getPreferences(Context.MODE_PRIVATE);
Argonaut answered 13/4, 2011 at 16:43 Comment(0)
D
24
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).

Dukas answered 13/4, 2011 at 17:14 Comment(3)
Well, you explained it better than me. Thumbs up!Shatzer
Thanks, OcuS. Could you please also clarify if I use .getDefaultSharedPreferences(getBaseContext()), will other applications be able to edit this value?Argonaut
No, because getDefaultSharedPreferences(Context context) will give you preferences in Context.MODE_PRIVATE (according to android.git.kernel.org/?p=platform/frameworks/… ). May be you could try something like what is explained in this thread's last post groups.google.com/group/android-developers/browse_thread/thread/… . Never tried myself, hope it helps anyway.Dukas

© 2022 - 2024 — McMap. All rights reserved.