107 votes

Comment enregistrer HashMap dans les préférences partagées?

Comment puis-je enregistrer un objet HashMap dans les préférences partagées dans Android?

98voto

penduDev Points 80

J’ai l’usage de convertir en puis de l’enregistrer dans

87voto

cypressious Points 1696

Je ne recommanderais pas d’écrire des objets complexes dans SharedPreference. Au lieu de cela, je `` l’utiliserais pour l’écrire dans la mémoire interne.

53voto

Vinoj John Hosan Points 160

J’ai écrit un morceau de code simple pour enregistrer la carte de préférence et charger la carte de préférence. Aucune fonction GSON ou Jackson n’est requise. Je viens d’utiliser une carte ayant String comme clé et Boolean comme valeur.

32voto

hovanessyan Points 8800
Map<String, String> aMap = new HashMap<String, String>();
aMap.put("key1", "val1");
aMap.put("key2", "val2");
aMap.put("Key3", "val3");

SharedPreferences keyValues = getContext().getSharedPreferences("Your_Shared_Prefs"), Context.MODE_PRIVATE);
SharedPreferences.Editor keyValuesEditor = keyValues.edit();

for (String s : aMap.keySet()) {
    keyValuesEditor.putString(s, aMap.get(s));
}

keyValuesEditor.commit();

12voto

Kyle Falconer Points 1582

En tant que spin-off de la réponse de Vinoj John Hosan, j’ai modifié la réponse pour permettre des insertions plus génériques, basées sur la clé des données, au lieu d’une seule clé comme `` .

Dans mon implémentation, `` est ma classe override et agit pour retourner le fichier `````` .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X