Ich habe ein Bild Inhalt Byte [] Form. Aber wenn ich sie durch Glide lade, werden kaputte Bilder gezeigt. Was ich mache ist unten gezeigt.Wie lade ich ein Bild über Byte-Array mit Glide?
Glide.with(context)
.load(imageByteArray)
.asBitmap()
.placeholder(R.drawable.ic_broken)
.into(rowImageView);
imageByteArray wird erfolgreich in Bitmap konvertiert, ohne glide zu verwenden. Es gibt also keinen Fehler bei Image Byte Array.
Bitte führen Sie mich, was ich vermisse?
Auch verwende ich Glide Bibliothek com.github.bumptech.glide: glide: 3.6.1 und Android Support-Bibliothek com.android.support:support-v13:23.0.1
Herausgegeben
Ok, das mache ich.
Diese Zeichenfolge oben definiert ist Bytes des tatsächlichen Bildes, die ich von Web-API empfange.
Ich Umwandlung dieser String in Byte-Array wie folgt
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len/2];
for (int i = 0; i < len; i += 2) {
data[i/2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}
als ich resultierende Byte-Array "imageByteArray" Anwenden Code oben definiert gleiten.
prolly konvertieren, weil Sie ... nicht Grundlagen der Multithreading verstehen, aber es ist nur blinde guess ... wie Sie nicht bieten wie erhalten Sie dieses Byte-Array ... Was ist ein Gültigkeitsbereich dieser Variable ist es in einer Art von Schleifen verwendet .... – Selvin
Ich verstehe. Anstatt diese Art von Kommentaren zu geben, führe mich bitte mit der richtigen Antwort. Danke dann –
dann stellen Sie bitte die richtige Frage ... da dieser Code ein NICHT gebrochenes Bildformular mir zur Verfügung stellt (ich verwendete Code von Ihrer Frage und Bibliotheken von der Frage) – Selvin