Ich habe ein String-Array-Ressource, die etwa 1000 MedikamentennamenAndroid Development String Array Ressource zu groß, Absturz Android App!
<string-array name="index">
<item>Aspirin</item>
<item>Levitra</item>
....
</string-array>
ich diesen String-Array in einen String [Inneren einer Aktivität] zu laden versucht hat. Verwenden Sie die gleiche Syntax wie in der Java-Dokumentation von Google, die Sie hier finden. http://developer.android.com/guide/topics/resources/string-resource.html#StringArray
Resources res = getResources();
String[] drugs = res.getStringArray(R.array.index);
Es scheint, meine String-Array zu viele Datensätze hat und sein verursachen meine App (Stack-Überlauf?) Zum Absturz bringen, wenn ich die String-Array-Ressource über 506 Datensätze zu reduzieren, arbeitet die App erneut, Aber das Hinzufügen von noch einem weiteren Element im String-Array würde die App zum Absturz bringen.
Was soll ich tun? Ich möchte Logik codieren, um zu filtern und andere Sachen zur Liste zu machen. Ich habe keine SQL-Datenbank in der App, so kann ich nicht die Verarbeitung in der DB tun. Gibt es eine Möglichkeit, die String-Array-Ressource zu durchlaufen, ohne sie in einen String [] zu laden? Ich bemerke, dass die Ressource ein Zeiger ist. Oder gibt es eine alternative Datenstruktur oder Vorgehensweise, die funktionieren würde?
Danke,
"Ich habe eine String Array Ressource, die etwa 1000 Droge Namen hat" - warum? Welchen Wert erhalten Sie aus einem String-Array, das von einer normalen XML-Ressource nicht erreicht werden konnte? – CommonsWare
@CommonsWare Danke, Prost! Ich verwende eine String-Array-Ressource, da dies die bevorzugte Methode ist, mit der Google-Tutorials eine Liste von Datensätzen in ein ListView laden. Alles funktioniert super, wenn ich alle Datensätze nach dem Alphabet sortiert habe. Jetzt versuche ich, eine Suchfunktion zu implementieren, also würde ich idealerweise alle Datensätze gleichzeitig durchlaufen wollen, anstatt für jedes Start-Alphabet eine Schleife zu machen. Ich bin nicht vertraut mit Speicherzuweisungsarchitektur in Android, aber ich bin ein wenig überrascht, dass das Laden von 506 Datensätze in einen String [] die App zum Absturz bringen würde: p – Mashsensor
Es wäre toll, wenn es eine Möglichkeit gibt, eine String-Array-Ressource zu durchlaufen in R.arrays, ohne sie zuerst wertmäßig in eine Datenstruktur zu laden ...: D, Oder könnte ein Vektor oder eine verknüpfte Liste mehr Daten enthalten? Vielleicht muss ich nur eine SQLite-Datenbank erstellen und sie dort behandeln oder am Ende alle 26 Alphabete in meiner Suchmethode durchlaufen. Happy Thanksgiving BTW – Mashsensor