La documentation officielle est assez pauvre en exemple, j'espere que les quelques lignes ci-dessous pourront vous aider.
Google met à disposition des développeurs plusieurs solutions à travers les API Android:
- L'objet Bundle,
- le mécanisme des préférences
- et (solution exclue pour aujourd'hui) la base de donnée intégrée.
Une solution simple à mettre en place est d'utiliser le mécanisme des préférences pour une persistance gérée nativement par Android.
Vous trouverez ci dessous un code fonctionnel permettant de voir concrètement comment gérer l'objet (SharedPreferences ) permettant la sauvegarder et le restore des informations.
========================================
package com.pmedina.ballocation;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
/**
* @author pmedina
*/
public class BalLocationActivity extends Activity {
String adresse; // valeur que nous voulons persister et retrouver après la reliance de l’application
SharedPreferences shared = null;
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Restaure les valeurs sauvegardées lors de la derniere execution de l’appli
shared = PreferenceManager.getDefaultSharedPreferences(this);
adresse = restoreState("adresse");
… faites vos traitements ici …
Avant d’appeler un startActivity(…,…) pensez à appeler la fonction saveState() autant de fois que necessaire.
}
public void saveState(String key, String value) {
SharedPreferences.Editor editor = null;
editor = shared.edit(); // initialisation
editor.putString(key, value);
editor.commit();
}
public String restoreState(String key) {
return shared.getString(key, "Saisissez une adresse");
}
}