web-dev-qa-db-de.com

Android entspricht NSUserDefaults in iOS

Ich möchte einige einfache Daten speichern. Auf dem iPhone kann ich das mit NSUserDefaults in Objective-C machen.

Was ist der ähnliche Befehl hier in Android?

Ich speichere nur ein paar Variablen, die wiederverwendet werden sollen, solange die Anwendung installiert ist. Ich möchte keine komplizierte Datenbank verwenden, nur um das zu tun.

98

Dies ist die einfachste Lösung, die ich gefunden habe:

//--Init
int myvar = 12;


//--SAVE Data
SharedPreferences preferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);  
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("var1", myvar);
editor.commit();


//--READ data       
myvar = preferences.getInt("var1", 0);  

Wobei "Kontext" der aktuelle Kontext ist (z. B. in einer Aktivitätsunterklasse könnte this sein).

202