Comment puis-je stocker un HashMap <Integer, String> dans android de l'utilisation partagée des préférences?
J'ai créé une table de hachage de la manière suivante:
HashMap<Integer, String> buttons = new HashMap<Integer, String>();
Ai besoin de rester dans ce format, mais chaque réponse à cette solution, je n'ai vu que des œuvres pour HashMap<String, String>
Grâce
Double Possible de l'Enregistrement d'un hachage de la carte dans les mêmes Préférences
OriginalL'auteur Zyzz | 2013-02-13
Vous devez vous connecter pour publier un commentaire.
Hey j'ai trouvé un moyen à la fin 🙂
Je viens de changer la table de hachage je devais formater et puis ne pour enregistrer le contenu:
et récupérer l'HashpMap:
editor.putStringSet(...)
etprefs.getStringSet(...)
.OriginalL'auteur Zyzz
Il n'y a pas de support pour toute
HashMap
dansSharedPreferences
. Vous pouvez traiter un ensemble deSharedPreferences
comme un peu comme unHashMap
, mais il n'est pas unHashMap
, et vous ne pouvez pas stocker unHashMap
dans une préférence individuelle.Vous êtes les bienvenus pour convertir votre
HashMap
dans unString
qui pourraient être stockés dans unSharedPreferences
valeur, comme à la convertir en JSON.OriginalL'auteur CommonsWare
Convertir en JSON (comme CommonsWare souligné) est une option. Sinon, je l'ai fait (depuis que je ne suis pas familier avec JSON) est de sérialiser avec Apache ObjectSerializer classe (trouvé ici: ObjectSerializer.java).
Il suffit d'appeler la méthode serialize lorsque vous souhaitez stocker et désérialiser lorsque vous voulez tourner de nouveau dans une Carte.
OriginalL'auteur Halogen