2016-04-21 15 views
1

Wahrscheinlich eine dumme Frage, aber ich "m ein SharedPreference mit einigen verschiedenen Namen mit‚MyPrefs1‘,‚MyPrefs2‘usw.Muss SharedPreferences Name eindeutig sein?

mir dies unter der Annahme meiner App beschränkt. Dh wenn eine andere App versucht, benutze den gleichen Namen, es überschreibt meine Werte nicht

Ich glaube ziemlich mein Verständnis ist korrekt, aber der Name "SharedPreferences" scheint darauf hinzuweisen, dass es zwischen Apps geteilt werden kann (ist es für Sharing zwischen Aktivitäten?)

Antwort

3

Das ist richtig, die SharedPreferences werden im privaten Ordner Ihrer App gespeichert (um genau zu sein, in/data/data/Ihr Paketname/shared_prefs).

Sie können ihnen den gewünschten Namen geben.

+0

Das trifft nur zu, wenn Sie Ihre gemeinsamen Einstellungen mit PreferenceManager.getDefaultSharedPreferences() erhalten. – natario

+0

@mvai bitte erarbeiten Wenn ich getSharedPreferences (MY_PREFS_JSON, Context.MODE_PRIVATE); mit meinem eigenen Namen, es ist nicht privat? – zooter

+0

@zooter Ja, es ist privat, weil Sie Context.MODE_PRIVATE verwendet haben. – natario

1

SharedPreferences repräsentieren die Präferenzen, die zwischen verschiedenen Komponenten Ihrer Anwendung geteilt werden können. Das SharedPreferences, das Sie in Ihrer Anwendung erstellen, wird nie mit anderen Anwendungen verfügbar gemacht. Ob Sie PreferenceManager.getDefaultSharedPreferences() oder Context.getSharedPreferences("file_name", Context.MODE_PRIVATE); beide nur für Ihre Anwendung verwenden.

Hinweis - SharedPreferences oder Preferences ist nicht anderen Anwendungen ausgesetzt.

Verwandte Themen