2016-10-01 5 views
-6

[blobイメージのカラムインデックスが9,10,11で、バイト配列として格納されているsqliteデータベースからブロブを取得しています。後でビットマップに変換してイメージビューに設定します。コードにエラーはありません。画像ビューでは画像が表示されません。 ][1]イメージビューのビットマップをアンドロイドのsqliteデータベースからフェッチする方法

+0

ビットマップは実際にイメージを取得しています。つまり、ビットマップはnullですか? –

答えて

0

カーソルからイメージバイトを読み込んで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); 
    } 
+0

ありがとう..それは私の多くを助けた – Soumya

関連する問題