Comment supprimer les données SharedPreferences de mon application?
Je crée une application qui utilise de nombreux services Web pour synchroniser les données. À des fins de test, je dois effacer certaines valeurs SharedPreferences lorsque je redémarre l'application.
android
sharedpreferences
Andrew
la source
la source
Ma solution:
la source
"text"
.Suppression de toutes les préférences:
Suppression d'une seule préférence:
la source
KeyName
?S'il n'est pas nécessaire d'être supprimé à chaque fois, vous pouvez le supprimer manuellement à partir de:
Versions plus récentes d'Android:
la source
Suppression des préférences partagées Android sur une seule ligne :-)
Ou
apply
pour un fonctionnement asynchrone non bloquant:la source
Semble que toutes les solutions ne fonctionnent pas complètement ou sont mortes
pour effacer toutes les préférences partagées d'une activité
Appelez cela depuis l'activité principale après onCreate
note * j'ai utilisé à la
.apply()
place de.commit()
, vous êtes libre de choisir commit ();la source
Vous pouvez utiliser le shell adb pour le faire même sans téléphone rooté. Le seul hic, c'est que l'application doit être débogable.
Par exemple:
Alternativement, vous pouvez simplement faire ce qui précède mais sans la commande qui vous dirigera vers la racine du package d'application et vous permettra d'exécuter plus de commandes dans le contexte de l'application.
la source
run-as
. On pourrait penser que j'aurais trouvé ça après 3 ans ...la source
Depuis l'API 24 (Nougat), vous pouvez simplement faire:
Cependant, il n'y a pas de compatibilité descendante, donc si vous prenez en charge moins de 24, restez avec:
la source
Tout effacer:
la source
Vous pouvez également désinstaller manuellement votre application à l'aide de votre appareil. Ensuite, lorsque vous réinstallez votre application, les préférences partagées ont été réinitialisées.
la source
Dans les définitions de classe:
À l'intérieur de la classe:
la source
Essayez ce code:
la source
Si c'est pour vos tests. Vous pouvez utiliser les commandes adb.
la source
Cela supprimera les préférences partagées enregistrées sous le nom "someTag".
la source
SharedPreferences.Editor remove (String key) suivi d'un commit () ou d'un apply ()
Pour supprimer toutes les valeurs,
SharedPreferences.Editor clear () suivi d'un commit () ou d'un apply ()
la source
Pour supprimer les paires valeur / clé de préférence, vous pouvez facilement effectuer les opérations suivantes
J'ai également développé une bibliothèque pour une manipulation facile des préférences partagées. Vous pouvez trouver le lien suivant
https://github.com/farruhha/SimplePrefs
la source
Pour effacer toutes les SharedPreferences de façon centralisée dans n'importe quelle classe:
Et puis à partir de n'importe quelle classe: (commit retourne un booléen où vous pouvez vérifier si vos préférences sont effacées ou non)
Ou vous pouvez utiliser appliquer; il retourne nul
la source
Je peux supprimer le fichier dans les préférences partagées avec lui
la source
Aucune des réponses ne fonctionne pour moi car j'ai de nombreuses clés de préférences partagées.
Supposons que vous exécutez un test Android au lieu d'un test unitaire.
Il fonctionne pour moi, boucle et supprime tous les fichiers shared_prefs .
la source
La méthode Kotlin ktx pour effacer toutes les préférences:
Cliquez ici pour toutes les opérations de préférences partagées avec des exemples
la source
Vous pouvez utiliser
preferences.edit().remove("key").commit()
pour supprimer les valeurs enregistrées des préférences partagées.la source
Je viens de le faire ce matin. À partir d'une invite de commande:
REMARQUE : Cela nécessite un appareil enraciné tel que les appareils virtuels Android d'origine, un appareil Genymotion ou un combiné / tablette enraciné réel, etc.
la source
/data/data
directement!su
aprèsadb shell
pour ouvrir un shell privilégié.