7
votes

Tableau de cordes dans SharedPreferences

Je veux savoir s'il est possible de stocker gamme de chaîne dans les préférences SharedPreferences . Dans ma demande, je veux, Ensemble de noms à stocker . Je sais que cela peut être fait en utilisant dB, je veux juste savoir si est-il possible de sauvegarder ces jeu de nom en tant que tableau de chaînes dans les préférences SharedPreferences . .


0 commentaires

4 Réponses :


1
votes

Il n'est pas possible de les stocker comme une matrice, mais vous pouvez les concaténer, puis les diviser lors du chargement, en utilisant StringTokenizerzer . Je peux vous aider avec du code, si cela vous sera utile pour vous.


1 commentaires

merci .., ya sûr .. Certains liens ou codes concernant ce serait vraiment utile



6
votes

Vous pouvez stocker un ensemble de chaîne en utilisant SharedPreferences au niveau de l'API 11 et supérieur. Voir getStringSet () et putringset () ю

Au niveau de l'API avant 11, vous pouvez utiliser une sorte de hack. Par exemple, si vous devez stocker une matrice de chaîne sous clé "stringarray" , vous pouvez enregistrer chaque chaîne de matrice à l'aide de Poststring et les touches "stringarray.1" < / em>, "stringarray.2" , ainsi de suite.


3 commentaires

merci .... je sens que cela m'aiderait certainement. Mais est ce bon moyen de stocker des chaînes, en général ?? Je veux dire stocker des chaînes dans les préférences partagées plutôt que dans dB?


Si vous avez une petite gamme de chaînes, il pourrait être plus facile d'utiliser SharedPrefernece . Mais si vous avez besoin de grandes matrices de chaînes, je dirais que DB est le seul moyen d'y aller. C'est plus difficile à mettre en œuvre et à utiliser, mais cela serait plus efficace.


Merci pour votre suggestion et j'ai constaté que la structure de données définie ne peut pas contenir d'éléments en double. Cela signifie-t-il que cela ne peut pas contenir la même chaîne plus d'une fois ?? @inazaruk



0
votes

Dans les préférences partagées, vous pouvez stocker les données telles que la valeur de la valeur clé. Ce que je fais habituellement, c'est d'insérer toutes les données, puis d'obtenir la liste des clés et de l'itérairez-la, définissez la clé comme n'importe quoi unique, qu'il s'agisse de numéros 1,2,3 etc

utiliser

SharedPreference sp = context.getsharedPréférences ("myPrafs", mode_world_readable); Carte PresetDatamap = sp.getall ();

puis boucle via PresetDatamap,

Itérateur ITT = PRESETDATAMAP.KEYSET (). Itérateur ();

J'espère que cela aide.


0 commentaires

2
votes

Si vous recherchez StringTokenzerzer, alors Blog post 1 et blog post2 serait utile


0 commentaires