web-dev-qa-db-fra.com

Android équivalent de NSUserDefaults dans iOS

Je voudrais enregistrer quelques données simples. Sur l'iPhone, je peux le faire avec NSUserDefaults dans Objective-C.

Quelle est la commande similaire ici dans Android?

Je sauvegarde juste quelques variables, pour être réutilisées tant que l'application est installée. Je ne veux pas utiliser une base de données compliquée juste pour cela.

98
christian Muller

C'est la solution la plus simple que j'ai trouvée:

//--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);  

Où `` contexte '' est le contexte actuel (par exemple dans une sous-classe d'activité pourrait être this).

202
christian Muller