-6
[blobイメージのカラムインデックスが9,10,11で、バイト配列として格納されているsqliteデータベースからブロブを取得しています。後でビットマップに変換してイメージビューに設定します。コードにエラーはありません。画像ビューでは画像が表示されません。 ][1]イメージビューのビットマップをアンドロイドのsqliteデータベースからフェッチする方法
[blobイメージのカラムインデックスが9,10,11で、バイト配列として格納されているsqliteデータベースからブロブを取得しています。後でビットマップに変換してイメージビューに設定します。コードにエラーはありません。画像ビューでは画像が表示されません。 ][1]イメージビューのビットマップをアンドロイドのsqliteデータベースからフェッチする方法
カーソルからイメージバイトを読み込んでBitmapに変換する必要があります。
byte[] imageBytes = getBlob(cursor, "ImageFieldName", null);
if (imageBytes != null)
{
Bitmap bmp= convertByteArrayToBitmap(imageBytes);
imageview1.setImageBitmap(bmp);
}
private byte[] getBlob(Cursor cursor, String colName, byte[] defaultValue) {
try {
int colIndex;
if (cursor != null && (colIndex = cursor.getColumnIndex(colName)) > -1
&& !cursor.isNull(colIndex))
return cursor.getBlob(colIndex);
return defaultValue;
} catch (Exception e) {
e.printStackTrace();
return defaultValue;
}
}
private Bitmap convertByteArrayToBitmap(byte[] bytes) {
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
}
ありがとう..それは私の多くを助けた – Soumya
ビットマップは実際にイメージを取得しています。つまり、ビットマップはnullですか? –