Pourquoi tu crées un Editor et tu utilises edit ?
Car getSharedPreferences donne accès à un objet SharedPreferences qui est en lecture seule (j'imagine pour une histoire de cache interne lié aux applications). Pour les modifier (ajout, modification, suppression), il est nécessaire de passer par un éditeur explicitement, et c'est l'interface Editor qui est utilisé.
Pourquoi est-ce que ça fonctionne ainsi ? C'est développé ainsi.
Un "Editor" est constituer de quoi? c'est une sorte de tableau , de pointeur ? du point vu bit à bit si tu as la réponse.
Si tu veux regarder le code source de la classe SharedPreferences.Editor, le voici : http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/content/SharedPreferences.java#SharedPreferences.Editor
Je n'ai mon IDE sous la main pour enquêter plus.
Un Editor est un wrapper vers un processus de sauvegarde en mémoire morte qui s'applique lors de l'appel à la méthode "commit". Les SharedPreferences sont liées à ton application.
C'est donc plus un système de sauvegarde persistant avec gestion de cache.
Sur google j'ai vu qu'il fallait un string pour le nom de ton fichier sur lequel tu enregistres les préférences, c'est bien comme ça qu'il faut faire?
La, il me faudrait l'extrait de code pour bien te comprendre.
Je vais partir du principe que tu parles de cette ligne de code-ci :
edit.putInt("MA_CLEF", monInt);
Les méthodes putXXXX d'un SharedPreferences.Editor prennent 2 paramètres. Le premier est une clef. Le second est la valeur à sauvegarder.
La clef joue le rôle de moyen d'accès. Il faut voir les SharedPreferences comme une table clef<->valeur (comme une Map en Java, ou en Hash dans d'autres langages).
Si tu souhaites enregistrer une nouvelle valeur, il faut la lier à une clef pour pouvoir la retrouver.
Si tu souhaites avoir une valeur, il faut connaître sa clef.
Une clef ne peut correspondre qu'à une seule valeur.
Est-ce que cela répond à tes questions ?