2010-04-26 46 views
17

Vấn đề của tôi là như sau: Tôi đã lưu một vài hình ảnh vào cơ sở dữ liệu sqlite, sử dụng định dạng blob, có vẻ như hoạt động tốt. bây giờ tôi muốn có được hình ảnh của tôi ra khỏi DB và đưa sau đó trở lại hình ảnh ... để phức tạp vấn đề, định dạng của họ là biến (png, jpg, có thể cái gì khác, im không chắc chắn) Có cách nào để làm như vậy trong android?byte [] vào hình ảnh android

cảm ơn bạn

Trả lời

47

Sử dụng BitmapFactory.decodeByteArray() phương pháp:

byte[] blob=c.getBlob("yourcolumnname"); 
Bitmap bmp=BitmapFactory.decodeByteArray(blob,0,blob.length); 
ImageView image=new ImageView(this); 
image.setImageBitmap(bmp); 

Nhìn vào this chủ đề quá.

+0

đó là chính xác những gì tôi đã làm, nhưng tôi đã sử dụng drawable vì vậy tôi đã thêm một diễn viên, nhưng tôi không nghĩ rằng tôi cần nó. Cảm ơn anh em về sự giúp đỡ. cảm ơn cho lời giải thích chi tiết ở đây – Sephy

+2

tuy nhiên, tôi đang nhận được một "return null" tốt đẹp từ BitmapFactory ... – Sephy

+0

phương thức decodeByteArray trả về null nếu hình ảnh không thể được giải mã; kiểm tra mã của bạn lưu trữ vào db. – systempuntoout

2

Tôi muốn chuyển đổi mảng byte thành Có thể vẽ trực tiếp. Đây là định dạng tốt nhất để sử dụng trong Android. Bitmap tạo ra rò rỉ trong quá khứ.

Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null); 
Các vấn đề liên quan