2010-10-16 6 views
7

En ce moment j'essaie d'enregistrer une variable lorsque je ferme l'application et récupère la variable lorsque j'ouvre l'application. Je n'ai aucune idée si je fais ça correctement. Ma variable s'appelle count et souhaite la sauvegarder et la restaurer. Est-ce correct? Si oui, pourquoi cela ne fonctionne-t-il pas? Si non, que dois-je changer? (Je suis évidemment à l'aide SharedPreferences)Problème lors de l'enregistrement des préférences partagées dans Android

protected void onPause(){ 
    super.onPause(); 


    SharedPreferences settings = getSharedPreferences(PREFS_COUNT, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInt("count", count); 
    editor.commit(); 
} 
@Override 
protected void onResume(){ 
    super.onResume(); 
    SharedPreferences settings = getSharedPreferences(PREFS_COUNT, 0); 
    count = settings.getInt("count", count); 
} 
+0

"Pourquoi ça ne marche pas?" -> pourriez-vous être plus précis? Avez-vous une erreur? Votre valeur est-elle incorrecte? Avez-vous exécuté votre débogueur? – JRL

+0

Eh bien, l'application se charge bien, mais n'enregistre pas la variable. –

+0

Absolument aucune erreur, mais je l'ai eu à travailler. –

Répondre

6

Attend droit, sauf assurez-vous d'avoir une constante:

public static final String PREFS_COUNT = "MyPrefsFile"; 

a déclaré au début de votre activité. Il est bien ici dans la documentation de Google:

http://developer.android.com/guide/topics/data/data-storage.html#pref

devrait fonctionner correctement si vous suivez exactement.

+1

Ah, je vois. J'ai oublié de charger les préférences dans le "bundle Oncreate" ...... Merci –

+1

Drôle qui a résolu mon problème, même si je ne comprends pas pourquoi, j'ai utilisé l'appel comme: getSharedPreferences (MyClass.getSimpleName(), 0) ; cela devrait être assez constant ... – joecks

+0

Le point n'est pas que vous avez besoin de la chaîne statique, le point est que vous devez utiliser un fichier de préférences communes à travers votre application, correct? –

Questions connexes