Hallo zusammen,
ich hab vor ein paar Jahren Code geschrieben, der mir jetzt um die Ohren fliegt. ;(
Es geht um eine kleine Android App, die einen einfachen JsonFeed parsed und eine Liste von Bildern mit dazugehörigem Titel erstellt. Das funktionierte so lange super, bis nach langer Zeit zum ersten mal ein Text ohne Bild im JsonFeed gelistet wurde. Jetzt funktioniert es nicht mehr, weil ich den JsonFeed in einer eigenen Classe abrufe, parse und in ArrayList<> Objecte verteile. Das ArrayList mit den Bildern hat nun aber einen Eintrag weniger als das mit dem Text.
Hier ein vereinfachter Auszug aus dem Code (ohne try, catch, etc.)
Ich hatte jetzt ein paar Ideen, wie ich das lösen kann. Bin mir aber nicht sicher, ob das überhaupt geht und was die beste Lösung wäre (programmiere leider nur sehr selten in Java).
1. Kann ich einfach einen null Wert in das Array einfügen, wenn im JsonFeed kein img vorhanden ist?
2. oder gibt es ein anderes Konstrukt, in dem ich Bitmap Objecte und null Werte mischen kann.
3. oder sollte ich am Besten einfach eine eigene Klasse erstellen, in die ich Titel und img als Klassenvariablen ablege und die ich dann nur in einer einzelnen ArrayList verwalte.
Beim schreiben wird mir schon klar, dass der Punkt 3 wohl die sauberste Lösung wäre. Allerdings hätte ich dann auch den größten Aufwand. Kann jemand was zu 1 und 2 sagen?
ich hab vor ein paar Jahren Code geschrieben, der mir jetzt um die Ohren fliegt. ;(
Es geht um eine kleine Android App, die einen einfachen JsonFeed parsed und eine Liste von Bildern mit dazugehörigem Titel erstellt. Das funktionierte so lange super, bis nach langer Zeit zum ersten mal ein Text ohne Bild im JsonFeed gelistet wurde. Jetzt funktioniert es nicht mehr, weil ich den JsonFeed in einer eigenen Classe abrufe, parse und in ArrayList<> Objecte verteile. Das ArrayList mit den Bildern hat nun aber einen Eintrag weniger als das mit dem Text.
Hier ein vereinfachter Auszug aus dem Code (ohne try, catch, etc.)
Java:
private ArrayList<String> listArrayTitle = new ArrayList<String>();
private ArrayList<Bitmap> listArrayIcon = new ArrayList<Bitmap>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
listArrayTitle.add(jsonObject.getString("title"));
listArrayIcon.add(imageHelper.getImageBitmap(jsonObject.getString("img")));
}
Ich hatte jetzt ein paar Ideen, wie ich das lösen kann. Bin mir aber nicht sicher, ob das überhaupt geht und was die beste Lösung wäre (programmiere leider nur sehr selten in Java).
1. Kann ich einfach einen null Wert in das Array einfügen, wenn im JsonFeed kein img vorhanden ist?
2. oder gibt es ein anderes Konstrukt, in dem ich Bitmap Objecte und null Werte mischen kann.
3. oder sollte ich am Besten einfach eine eigene Klasse erstellen, in die ich Titel und img als Klassenvariablen ablege und die ich dann nur in einer einzelnen ArrayList verwalte.
Beim schreiben wird mir schon klar, dass der Punkt 3 wohl die sauberste Lösung wäre. Allerdings hätte ich dann auch den größten Aufwand. Kann jemand was zu 1 und 2 sagen?