2010-04-26 82 views
17

我的問題如下: 我已經存儲了一些圖片到sqlite數據庫,使用blob格式,這似乎工作正常。現在我想把我的照片從數據庫中拿出來,然後放回到圖像中...使事情複雜化,它們的格式是可變的(png,jpg,也許別的東西,我不知道) 有沒有這樣做的方法在android中?byte [] to image android

謝謝

回答

47

使用BitmapFactory.decodeByteArray()方法:

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

this線程太多。

+0

這正是我所做的,但我使用drawable所以我添加了一個演員,但我不認爲我需要它。感謝幫助的人。感謝這裏的詳細解釋 – Sephy 2010-04-26 16:12:13

+2

然而,我從BitmapFactory中得到了一個很好的「返回null」... – Sephy 2010-04-26 16:18:50

+0

decodeByteArray方法如果圖像無法解碼則返回null;檢查你的代碼存儲到數據庫。 – systempuntoout 2010-04-26 18:27:37

2

我寧願直接將字節數組轉換爲Drawable。這是在Android中使用的最佳格式。過去,位圖會產生泄漏。

Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null);