2013-03-05 94 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