我一直在嘗試將圖像形式的android sdcard存儲到sqlite數據庫。它工作得很好。圖像以blob的形式存儲到數據庫中。這是我一直在使用的粗略代碼。如何顯示android sqlite中blob數據的圖像?
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
imgView.setImageBitmap(bitmap);
int size = bitmap.getWidth() * bitmap.getHeight();
ByteArrayOutputStream out = new ByteArrayOutputStream(size);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
try {
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();}
byte[] x = out.toByteArray();
在數據庫側,所述代碼是這樣的
ContentValues values = new ContentValues();
byte[] bytes = null;
bytes = img_bytes.getBytes();
values.put("IMAGE", bytes);
和用於顯示我所使用的代碼如下所示。
ImageView image = new ImageView(this);
byte[] img_bytes = result.get("IMAGE").getBytes();
Bitmap bMap = BitmapFactory.decodeByteArray(img_bytes, 0, img_bytes.length);
image.setImageBitmap(bMap);
當我打印字節數組的字符串值時,它變得像[B @ 44da2db0。但是字節數組沒有顯示到圖像中。
有人請幫助我。 謝謝
看到這個http://stackoverflow.com/questions/6041202/how-to-store-images-in-sqlite-database-on-click-event-of-button – 2011-10-28 07:21:16