22 Stimmen

Können gemeinsam genutzte Einstellungen privat sein?

Allein aufgrund des Namens vermute ich, dass Gemeinsame Präferenzen werden... von Apps gemeinsam genutzt? Das heißt, selbst wenn meine App sie definiert und erstellt, kann jede App auf Android auf sie zugreifen. Ist das richtig?

(Wenn dies nicht korrekt ist, warum wird dann im Data Storage Dev Guide betont, dass Interner Speicher als "Private Daten speichern"?)

Wenn dies korrekt ist, kann ich dieses Standardverhalten so ändern, dass eine Einstellung nur in der Anwendung sichtbar ist, in der ich sie definiere und erstelle?

Wenn ja, wie kann ich das tun?

31voto

CommonsWare Punkte 950864

SharedPreferences sind standardmäßig privat. Sie werden von den Komponenten Ihrer Anwendung gemeinsam genutzt.

25voto

matsjoe Punkte 1480

Wenn ich richtig liege, können Sie die Datei als privat speichern, indem Sie

getSharedPreferences(yourfile, MODE_PRIVATE);

public static final int MODE_PRIVATE 

Seit: API Stufe 1 Dateierstellungsmodus: der Standardmodus, bei dem nur die aufrufende Anwendung (oder alle Anwendungen mit derselben Benutzer-ID) auf die erstellte Datei zugreifen kann.

Siehe auch:

MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE 
Constant Value: 0 (0x00000000)

9voto

Kaj Punkte 10764

Die Funktion getSharedPreferences in der Context-Klasse hat zwei Argumente: String name und int mode. Der Modus bestimmt, ob die gemeinsamen Einstellungen privat sind oder nicht. Context.getSharedPreferences

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X