May 19, 2024

Wiki

Python

Aide

edit SideBar

Search

Adroid Data

Préférences d'une application :

Android fournit un moyen aisé d'enregistrement de données simples (de type entier booléen, chaîne de caractères) : l'interface SharedPreferences.

Unique instance d'une préférence partagée nommée

Pour un nom donné, on ne peut créer qu'une seule instance de préférences partagées dans toute l'application (patron de singleton). On accède à cette référence via la méthode getSharedPreferences comme dans l'exemple suivant

SharedPreferences logical_pref = getSharedPreferences("references",MODE_PRIVATE);

qui accède aux données stockées dans le répertoire "references", données qui ne seront pas partagées avec d'autre applications (MODE_PRIVATE). Si le répertoire n'existe pas, il est crée.

Écriture dans une préférence partagée

L'écriture d'une donnée dans cet espace de préférences partagé se fait en éditant sa référence logique et en validant comme :

  SharedPreferences.Editor editor = logical_pref.edit();
  editor.putString("game_player","David");
  editor.commit();

Les méthodes suivantes enregistre sous la clef key les valeurs value en fonction du type de la valeur :

  • putBoolean(String key, boolean value) : enregistre une valeur booléenne
  • putFloat(String key, float value) : enregistre un flottant
  • putInt(String key, int value) : enregistre un entier
  • putLong(String key, long value) : enregistre un long
  • putString(String key, String value) : enregistre une chaîne

Lecture dans une préférence partagée

La lecture dans une préférence partagée se fait en

  1. récupérant l'instance de la préférence praagée nommée
  2. récupérant la valeur référencée par la bonne clef comme
  SharedPreferences logical_pref = getSharedPreferences("references",MODE_PRIVATE);
String player = logical_pref.getString("game_player", "");

Le second paramètre de getString est la valeur par defaut si la clef n'est pas trouvée. En plus de getString, on a aussi : getBoolean(String key, boolean defValue), getFloat(String key, float defValue), getInt(String key, int defValue), getLong(String key, long defValue).

Travaux Pratiques : enregistrer/restaurer la partie de sudoku

  1. Sauvegarder l'état de la partie de sudoku dans la méthode onStop() de game qui est invoquée lorsque la partie est quittée.
  2. Restaurer cette sauvegarde lorsque l'utilisateur appuie sur "continuer" au démarrage.
  3. Vérifier que le passage en mode paysage est toujours correct. Corriger le code les cas échéant.

Fichiers,

Système de fichier Lecture Ecriture

Bases de données :

Création d'une base de données de jeux de sudoku

Récupération des données

Du résultat aux objets

Page Actions

Recent Changes

Group & Page

Back Links