L
Lainio
Ambitioniertes Mitglied
- 3
Hallo zusammen,
Ich habe folgendes Problem:
Ich lade mir eine XML-Datei aus dem Internet, parse sie und speichere die Elemente in einer ArrayList. Anschließend lasse ich mir sie in einer ListView mit einem SimpleAdapter anzeigen:
Jetzt zu meiner Frage:
Kann ich den SimpleAdapter auch dazu verwenden mir ein Bild aus der XML-Datei zu laden?
Das obere Beispiel funktioniert leider nicht weil ich die Meldung:
Ich muss dazu erwähnen, dass das Bild in der heruntergeladenen XML-Datei als Base64-String steckt.
Ich habe dazu im Internet auch folgende Methode gefunden ich weiß nur nicht ob ich die dafür verwenden kann.
Die Daten die in die ListView eingetragen werden bekomme ich hier:
Ich hoffe meine Frage war verständlich.
Wenn nicht bitte nachhacken ich erkläre es gerne nochmal.
Vielen Dank!
lg
lainio
Ich habe folgendes Problem:
Ich lade mir eine XML-Datei aus dem Internet, parse sie und speichere die Elemente in einer ArrayList. Anschließend lasse ich mir sie in einer ListView mit einem SimpleAdapter anzeigen:
PHP:
ListAdapter adapter = new SimpleAdapter(ListViewActivity.this, projectItems,
R.layout.list_item_projects,
new String[]{KEY_JOBTITLE, KEY_JOBINFO,KEY_PROJECTIMAGE},
new int[]{R.id.jobtitle, R.id.jobinfo,R.id.projectImage});
setListAdapter(adapter);
Jetzt zu meiner Frage:
Kann ich den SimpleAdapter auch dazu verwenden mir ein Bild aus der XML-Datei zu laden?
Das obere Beispiel funktioniert leider nicht weil ich die Meldung:
Code:
05-05 11:01:32.554 23743-23743/de.kevox.kevox.app E/BitmapFactory Unable to decode stream: java.io.FileNotFoundException: /iVBORw0KGgoAAAANSUhEUgAAAP8AAAB/................
Ich muss dazu erwähnen, dass das Bild in der heruntergeladenen XML-Datei als Base64-String steckt.
Ich habe dazu im Internet auch folgende Methode gefunden ich weiß nur nicht ob ich die dafür verwenden kann.
PHP:
public static Bitmap decodeBase64(String input) {
byte[] decodedByte = Base64.decode(input, Base64.DEFAULT);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}
Die Daten die in die ListView eingetragen werden bekomme ich hier:
PHP:
for (int i = 0; i < nodeListProject.getLength(); i++) {
HashMap<String, String> map = new HashMap<>();
Element e = (Element) nodeListProject.item(i);
map.put(KEY_UUID, parser.getValue(e, KEY_UUID));
map.put(KEY_NAME, parser.getValue(e, KEY_NAME));
map.put(KEY_JOBTITLE, parser.getValue(e, KEY_JOBTITLE));
map.put(KEY_JOBINFO, parser.getValue(e, KEY_JOBINFO));
map.put(KEY_PROJECTIMAGE, parser.getValue(e,KEY_PROJECTIMAGE));
projectImageString = parser.getValue(e,KEY_PROJECTIMAGE);
Bitmap bm = decodeBase64(projectImageString);
projectItems.add(map);
}
Ich hoffe meine Frage war verständlich.
Wenn nicht bitte nachhacken ich erkläre es gerne nochmal.
Vielen Dank!
lg
lainio