2016-08-07 8 views
-2

Entschuldigung für meine Ignoranz, ich habe in Google nach dem folgenden gesucht, konnte aber nicht genau verstehen, wollte daher einen besseren Griff von jemandem bekommen, der es besser erklären kann. Ich verstehe nicht, wie geteilte Einstellungen abgerufen werden, wenn ich sie in onCreate erstelle. Zum Beispiel, wenn ich die Anwendung zum zweiten Mal eingebe und ich die Daten in den Shared Prefs verwenden möchte, wenn ich sie in OnCreate erstelle, wird sie nicht einfach zurückgesetzt, wenn ich die App erneut eingebe?Android Studio Geteilte Perefences

Ich habe den PREF Name:

public static final String PREFS_NAME = "DrinkingPrefsFile"; 

dann in der OnCreate Ich habe den 'Konstruktor' der gemeinsamen Vorlieben:

SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit(); 
editor.putString("name", "Elena"); 
editor.putInt("cola", 0); 
editor.commit(); 

Aber ich möchte in der Lage sein, diese Informationen zu verwenden, in andere aktivitäten auch nachdem ich diese aktivität mehr als einmal geöffnet habe, können die informationen entsprechend den daten in der aktivität mit den shared prefs aktualisiert und geändert werden.

+0

Rufen Sie 'SharedPreference' in' onRsume() 'ab, um sicherzustellen, dass Sie jedes Mal, wenn der Benutzer den Bildschirm aufruft, den neuesten Wert erhalten – Shaishav

+1

Lesen Sie einige Grundlagen zu SharedPreferences. Nein, sie werden nicht zurückgesetzt. – Vucko

+0

Ich stimme zu, diese Frage als off-topic zu schließen, weil ... einige Studien erforderlich sind, bevor Sie anfangen, etwas zu verwenden. Und in diesem Fall können Sie es leicht in der Goldmine von [Google] (https://www.google.com) finden. –

Antwort

1

Nachdem Sie diese Werte schreiben Sie können sie überall in Ihrem Code wie dieser

SharedPreferences prefs = this.getSharedPreferences("general_settings", Context.MODE_PRIVATE); 
String name = prefs.getString("name", null); 

lesen Wo? „Diese“ Instanz eines Kontextes ist

sie gespeichert werden, solange der Benutzer nicht gelöscht die Daten der App und du löschst sie nicht.