Je développe une application Android et j'utilise des préférées partagées. P>
Je définis des préférées partagées, j'utilise une touche appelée all_done_view, mais le cas est que je joins un identifiant unique pour ex: "123 + all_done_view",
"234 + all_done_view" etc. P>
Maintenant sur la déconnexion, je souhaite effacer toutes les préférées partagées de la touche "all_Done_View". p>
pouvons-nous faire cela en utilisant uniquement la touche "all_Done_View" sans identifiant unique? ou dois-je utiliser un identifiant unique? P>
7 Réponses :
de la documentation de SharedPreferences.editor, supprimer la méthode:
Oui, mais pour cela, j'ai aussi besoin de passer un identifiant unique. Je veux y parvenir sans passer un identifiant unique
Vous pouvez utiliser le code suivant pour supprimer une donnée d'enregistrement / enregistré dans SharedPreferences. Si vous voulez "All_Done_View" à être constant, passez simplement l'identifiant unique de cette manière. p> et la réponse de Priyankagb est acceptable et facile à mettre en œuvre. p> p>
Cochez la clé de la clé qui contient votre "All_Done_View", vous supprimez-le
Map<String, ?> map = sharedPreferences.getAll();
Vous devriez faire quelque chose comme ça c'est juste une idée approximative que vous pouvez le changer à votre chemin.
Itérer sur toutes les clés des préférences et retirez la clé correspondante qui contient le préfixe de votre clé. P> P>
Créez une préférence partagée différente avec le nom que pour supprimer la version élever elle-même à l'aide de cette ligne p> Remarque: N'oubliez pas d'appeler all_done_view code>
Appliquer () Code> Après édition PREFS P> P>
Vous pouvez obtenir toutes les clés et les utiliser à l'aide d'un Java forte> p> kotlin strong> p> pour code> en boucle pour vérifier si une touche contient un certain motif, puis retirez-la.
public void Logout() { SharedPreferences prefs = MyApplication.context.getSharedPreferences(SharedPrefConstants.APP_PREFERENCE_NAME, Activity.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.clear(); editor.apply(); }