Android fournit un moyen aisé d'enregistrement de données simples (de type entier booléen, chaîne de caractères) : l'interface SharedPreferences.
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.
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 :
La lecture dans une préférence partagée se fait en
SharedPreferences logical_pref = getSharedPreferences("references",MODE_PRIVATE);
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).
Système de fichier Lecture Ecriture