web-dev-qa-db-fra.com

enregistrer les variables après avoir quitté l'application?

Je veux que certaines variables soient enregistrées, lorsque je ferme mon application et les charge après avoir ouvert l'application (pour les statistiques dans un jeu)

Comment puis-je faire ceci?

EDIT: Voici mon code:

TextView test1;
String punkte = "15";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    SharedPreferences save = getSharedPreferences(punkte, 0);
    save.edit().putString("score", punkte);

    SharedPreferences load = getSharedPreferences(punkte, 0);
    String points = load.getString("score", "0");

    test1 = (TextView) findViewById(R.id.test1);
    test1.setText(points);

    }    
21
Stupe

Vous devez utiliser SharedPrefences. Ils sont assez simples à utiliser et stockent les variables dans les données d'application. Tant que l'utilisateur n'appuie jamais sur "Effacer les données" dans les paramètres de votre application, ils seront toujours là.

Voici un exemple de code.

Pour accéder aux variables:

SharedPreferences mPrefs = getSharedPreferences("label", 0);
String mString = mPrefs.getString("tag", "default_value_if_variable_not_found");

Pour éditer les variables et les valider (stocker):

SharedPreferences.Editor mEditor = mPrefs.edit();
mEditor.putString("tag", value_of_variable).commit();

Assurez-vous que les deux champs "tag" correspondent!

42
Mxyk

Utilisez SharedPreference, c'est une meilleure option.

Pour voir this tutoriel.

6
MAC

exemple de code: enregistrer:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = settings.edit();
editor.putString("statepara1", ts);
editor.commit();

avoir:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);    
String ret = settings.getString("statepara1", "0");
3
enjoy-writing