J'ai une ressource Array chaîne qui a environ 1000 noms de médicamentsAndroid Development String Array Resource trop grand, écrasant Android App!
<string-array name="index">
<item>Aspirin</item>
<item>Levitra</item>
....
</string-array>
j'ai essayé de charger ce tableau de chaînes dans une chaîne [] dans une activité. En utilisant la même syntaxe fournie par la documentation java de Google trouvée ici. http://developer.android.com/guide/topics/resources/string-resource.html#StringArray
Resources res = getResources();
String[] drugs = res.getStringArray(R.array.index);
Il semble ma chaîne de tableau a trop de dossiers et son entraînant mon application crash (pile débordement?) Lorsque je réduis la ressource chaîne de tableau à environ 506 dossiers, l'application fonctionne à nouveau, mais ajouter encore 1 élément de plus dans le tableau de bord ferait planter l'application.
Que dois-je faire? Je veux coder la logique pour filtrer et faire d'autres choses à la liste. Je n'ai pas de base de données SQL dans l'application, donc je ne peux pas faire le traitement dans la base de données. Existe-t-il un moyen de parcourir la ressource string-array sans la charger dans un String []? Je remarque que la ressource est un pointeur. Ou existe-t-il une structure de données alternative ou une approche qui fonctionnerait?
Merci,
"J'ai une ressource de chaîne de caractères qui compte environ 1000 noms de médicaments" - pourquoi? Quelle valeur obtenez-vous d'un tableau de chaînes qui ne peut pas être rencontré par une ressource XML ordinaire? – CommonsWare
@CommonsWare Merci, bravo! J'utilise une ressource string-array car c'est la manière préférée que les propres tutoriels de Google utilisent pour charger une liste d'enregistrements dans un ListView. Tout fonctionne génial quand j'ai tous les dossiers décomposés par leur Alphabet de départ. Maintenant, j'essaie d'implémenter une fonction de recherche, donc idéalement je voudrais parcourir tous les enregistrements à la fois au lieu de faire une boucle pour chaque Alphabet de départ. Je ne suis pas familier avec l'architecture d'allocation de mémoire dans Android, mais je suis un peu surpris que le chargement de 506 enregistrements dans un String [] plante l'application: p – Mashsensor
Il serait génial s'il y a un moyen de parcourir une ressource tableau dans R.arrays sans le charger par valeur dans une structure de données d'abord ...: D, Ou peut-être un vecteur ou une liste liée pourrait-il contenir plus de données? Peut-être que j'ai juste besoin de créer un db SQLite et de le gérer là, ou juste finir par itérer à travers les 26 Alphabets dans ma méthode de recherche. Happy Thanksgiving btw – Mashsensor