Image aus XML-Datei mit SimpleAdapter laden

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:

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
 

Ähnliche Themen

B
Antworten
4
Aufrufe
433
bb321
B
S
Antworten
33
Aufrufe
2.541
Sempervivum
S
R
  • Robby1950
2
Antworten
23
Aufrufe
955
Robby1950
R
Zurück
Oben Unten