2013-03-05 142 views
2

我正在研究android應用程序,其中我從web服務解析數據,然後將其存儲在數據庫中。在這裏我也想將圖像存儲在數據庫中,並在下一個活動中回顧。保存圖像在SQLite數據庫從web服務獲取

我正在使用此代碼在數據庫中插入圖像。

Bitmap yourSelectedImage; 
ByteArrayOutputStream stream; 
byte[] byteArray; 

這是在for循環

{ 
yourSelectedImage = BitmapFactory.decodeFile(SingleImageURL[i]); 
stream = new ByteArrayOutputStream(); 
yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, 
        stream); 
byteArray = stream.toByteArray(); 

database.insertDetail(ID[i],byteArray[i]); 

} 

這裏SingleImageURL有從Web服務來的圖像的URL。

當我運行的代碼,它會給錯誤NullPointerException異常在這一行

yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, 
        stream); 

,請告訴我,我要去哪裏錯了。以及如何做到這一點。

+0

調試程序,看看你在SingleImageURL得到壓縮它? – Shiv 2013-03-05 13:02:17

回答

3

使用this link加載您的位圖yourSelectedImage。然後將其保存到數據庫,將其轉換爲byte[]

您正在解碼一個文件,該文件實際上是一個URL。所以你的yourSelectedImagenull。而當你試圖使用

yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream); 

NullPointerException