Android: wie umwandeln byte-array in Bitmap?
Ich versuche, zu konvertieren, ein Bild vom Typ byte [], um die Bitmap für die Anzeige des Bildes in der Android-Anwendung.
byte[]'s-Wert wird von der Datenbank und ich habe überprüft, dass es nicht null ist.
Nach, dass, würde ich mag, um das Bild umzuwandeln, konnte aber nicht den Erfolg. Das Programm zeigt, dass die Bitmap-Wert ist null.
Ich denke, es gibt einige Probleme bei der Konvertierung verarbeiten.
Wenn Sie wissen alle Tipps, bitte zeigen Sie mir.
byte[] image = null;
Bitmap bitmap = null;
try {
if (rset4 != null) {
while (rset4.next()) {
image = rset4.getBytes("img");
BitmapFactory.Options options = new BitmapFactory.Options();
bitmap = BitmapFactory.decodeByteArray(image, 0, image.length, options);
}
}
if (bitmap != null) {
ImageView researcher_img = (ImageView) findViewById(R.id.researcher_img);
researcher_img.setImageBitmap(bitmap);
System.out.println("bitmap is not null");
} else {
System.out.println("bitmap is null");
}
} catch (SQLException e) {
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus dem code, es scheint, dass Sie nehmen einen Teil des byte-Arrays und verwenden Sie die
BitmapFactory.decodeByteArray
Methode in diesem Teil. Sie müssen liefern die gesamte byte-array in dieBitmapFactory.decodeByteArray
Methode.BEARBEITEN von Kommentaren
Sie brauchen, um Ihre select-Abfrage (oder zumindest wissen, den Namen (oder den index) der Spalte, die die blob-Daten des Bildes gespeichert in deinem db). Auch intead
getByte
verwenden Sie diegetBlob
Methode der ResultSet Klasse. Lassen Sie uns sagen, dass der Spaltenname istimage_data
. Mit dieser info, ändern Sie Ihren code so etwas wie dieses:rset4
variable ist? Sehen Ihre geposteten code, das scheint Ihr Bild in byte-array.ResultSet rset4 = null; rset4 = stmt4.executeQuery("select * from images where id = "+ id);
getBlob
, aber leider geschieht es, dass ein Fehler nicht bemerktType mismatch: cannot convert from Blob to byte[]
. So brauche ich zum konvertieren von BLOB in einen byte-array, und auch aus byte-array in Bitmap?getBlob
Methode derResultSet
Klasse gibtbyte[]
und nichtBlob
.verwenden Sie die folgende Zeile zu bytes konvertieren in Bitmap, es ist für mich arbeiten.
müssen Sie über der Zeile außerhalb der Schleife, wie es dauert Byte-Array umwandeln und in Bitmap.
P. S. :- hier Bilddaten ist Byte-array Bild