Comment vérifier si le fichier SharedPreferences existe ou non
Je suis à la recherche d'un android Partagé Préférences et je me demandais est-il un moyen de vérifier si le fichier de préférences existe.
SharedPreferences mySharedPreferences ;
mySharedPreferences=getSharedPreferences(“Name_of_your_preference”,mode);
Ce code ci-dessus m'amène à croire que "Name_of_Your_preferene" est stocké dans un fichier ou une sorte de récipient qui contiendra vos préférences.
Je me demande est-il de suite pour vérifier si cela existe ou pas. Lorsqu'un utilisateur charge une activité que je veux enregistrer tous les paramètres dans ce fichier avec certaines valeurs par défaut(off pour tous les paramètres). Cependant je ne veux le faire que si elles sont d'aller à la page pour la première fois.
Sinon si je ferais quelque chose comme ça à chaque fois le chargement de la page jusqu'
SharedPreferences.Editor editor= mySharedPreferences.edit();
/* now store your primitive type values. In this case it is true, 1f and Hello! World */
editor.putBolean(“myBoolean”,true);
editor.putFloat(“myFloat”,1f);
editor.putString(“myString”,” Hello! World”);
Je suis deviner qu'il l'emporterait sur tous les paramètres, même ceux qu'ils ont définis.
source d'informationauteur chobo2
Vous devez vous connecter pour publier un commentaire.
Les SharedPreferences sont enregistrés dans un fichier xml. Vous pouvez le trouver dans /data/data/your_application_package/shared_prefs/Name_of_your_preference.xml
Pour vérifier si les SharedPreferences 'Name_of_your_preference' existent :
Ce qui concerne.
Vous pouvez utiliser le
contains
méthode sur laSharedPreferences
objet de vérifier si l'un de vos préférences clés existent dans le fichier. Si cela renvoiefalse
vous pouvez supposer que c'est la première fois et remplir les paramètres par défaut. La documentation de cette méthode est ici.Je ne pouvais pas trouver n'importe quel moyen de vérifier si un fichier de préférence existe déjà (il sera créé automatiquement la première fois que vous récupérez un éditeur), mais cette méthode devrait faire l'affaire.
Je n'ai pas assez de représentants de commentaire natur3 post. Donc cette réponse.
@natur3: Très utile, merci. J'ai un petit problème cependant... avec le suffixe de fichier. Si je définis mon nom de fichier comme ceci:
Et ensuite utiliser:
f.il existe() retournera false, même si le fichier existe sur le système de fichiers. C'est parce que Android va ajouter ".xml" suffixe automatiquement lors de l'écriture de SharedPreferences donc j'ai dû faire mon fichier de référence ressembler à ceci:
pour que cela fonctionne. Je ne sais pas où u got votre "_preferences.xml" suffixe de.
J'ai réussi à comprendre cela par la navigation sur l'émulateur de système de fichiers dans Eclipse à l'aide de Window->Show View->Autres... et puis sélectionnez "Explorateur de Fichiers".
Plutôt que de coder en dur l' "/data/data/" chemin d'accès que vous pouvez le faire:
Je l'ai fait de cette façon, de sorte que son adaptables de l'omi.
J'ai utilisé ce dans un processus de validation à la onCreate si les préférences existe ou pas et en fonction de la réponse activer un bouton pour effacer les préférences ou pas - il suffit de vérifier que le nom de votre fichier de préférences est dans DDMS si ce n'est pas manuellement nommé.
La plus facile façon que j'ai trouvée ,
nous pouvons vérifier si cette préférence n'existe par un construit dans le code sur android
Vérifie si les préférences contient une préférence. (c'est abstrait méthode public boolean)
Simple et facile 🙂