Android-code zu Holen Bild vom server und zeigt Sie in der Bildansicht
Hallo, ich weiß, wie zu Holen ein string aus jsonobject, aber meine Frage ist, wie zu Holen ein Bild aus der Rest-api und zeigt es an. Das Bild wird gespeichert als profile_image in jsonobject
Mein code:
try {
JSONObject jsonObject = new JSONObject(response);
JSONObject object = jsonObject.getJSONObject("user");
String attr1 = object.getString("username");
data = "" + attr1;
textView15.setText(data);
if (object.has("profession")) {
String attr2 = object.getString("profession");
data2 = "" + attr2;
textView16.setText(data2);
}
if(object.has("company")){
String attr3 = object.getString("company");
data3 = "" + attr3;
textView38.setText(data3);
}
if(object.has("profile_image")) {
//what has to be done here
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere mögliche Fälle:
Fall 1. Bild mit Base64, dann müssen Sie Sie zu entschlüsseln und zu verwenden BitmapFactory Methode:
Fall 2. Json enthält link zu einem Bild. Laden Sie einfach den link, und wenn Sie Sie empfangen Stream-Objekt übergeben Sie an BitmapFactory. So etwas wie dieses:
Obigen Beispiel verwendet HttpClient Klasse, search api docs auf, wie man InputStream von Ihrem verwendeten Netzwerk-Bibliothek.
OutOfMemory
Ausnahme.Wenn Sie verwenden möchten, Picasso-Bild-Bibliothek für diese, Sie können es so machen:
Check-out https://github.com/square/picasso für die Dokumentation.
Diese kann getan werden, mit
Picasso
für das hinzufügen Abhängigkeit in
build.gradle
- Datei des Projekts,und fügen Sie code in der Methode, wie unten
getan.
Wenn Ihre Bild-Daten in "profile_image" Base64-codierte Zeichenfolge, dann können Sie in bitmap konvertieren, indem Sie die folgenden.