2011-04-13 2 views

Répondre

24
PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 

fournira un accès à un fichier de préférences qui est globale pour l'ensemble du paquet d'application; toute activité peut accéder aux préférences (interne, le fichier xml contenant les préférences sera nommé your.application.package_preferences.xml).

contextInstance.getPreferences(Context.MODE_PRIVATE); 

accordera des préférences que pour la classe contextInstance: seules les instances de la classe du contexte, on peut accéder à ces préférences (dit votre paquet est toujours your.application.package et vous êtes dans your.application.package.foo.MyActivity, internaly le fichier de préférences est foo.MyActivity.xml).

+0

Eh bien, vous l'avez mieux expliqué que moi. Pouces vers le haut! – Wroclai

+0

Merci, OcuS. Pourriez-vous également clarifier si j'utilise '.getDefaultSharedPreferences (getBaseContext())', d'autres applications pourront-elles éditer cette valeur? –

+0

Non, car 'getDefaultSharedPreferences (Context context)' vous donnera des préférences dans 'Context.MODE_PRIVATE' (selon http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob ; f = core/java/android/preference/PreferenceManager.java; h = e44a0907d20916613f02843291deef9483433052; hb = HEAD # l347). Peut-être pourriez-vous essayer quelque chose comme ce qui est expliqué dans le dernier message de ce sujet http://groups.google.com/group/android-developers/browse_thread/thread/6f1a12fffd60a824. Jamais essayé moi-même, j'espère que ça aide de toute façon. – OcuS

Questions connexes