Tengo una lista de puntos de longitud y longitud en un archivo xml que se utiliza en toda mi aplicación. Me encuentro repitiendo este código para obtener puntos a menudo y creo que debe haber una manera mejor.Java/Android obtener matriz de xml
String[] mTempArray = getResources().getStringArray(R.array.stations);
int len = mTempArray.length;
mStationArray = new ArrayList<Station>();
for(int i = 0; i < len; i++){
Station s = new Station();
String[] fields = mTempArray[i].split("[\t ]");
s.setValuesFromArray(fields);
Log.i("ADD STATION", ""+s);
mStationArray.add(s);
}
XML está en el formato de:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="stations">
<item>
<name>Station name</name>
<longitude>1111111</longitude>
<latitude>11111</latitude>
<code>1</code>
</item>
Y otra (posible) El problema es que para obtener sólo una estación Tengo que llegar a todos ellos y tirar de la que yo quiero de la matriz . ¿Esto va a ser considerablemente más lento? ¿Puedo hacer que esta matriz sea consistente en toda la aplicación? (Pero manteniendo la metodología de intención separada)
Gracias por esto. ¿Importaría si lo cambiara a una ArrayList? – Ashley
Ya es una ArrayList: consulte la línea 'sStationArray = new ArrayList (len);'. Puede cambiar 'sStationArray' para que sea del tipo' ArrayList ', pero eso no haría ninguna diferencia en la funcionalidad o el rendimiento. –