保存图像在SQLite数据库从web服务获取
问题描述:
我正在研究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);
,请告诉我,我要去哪里错了。以及如何做到这一点。
答
使用this link加载您的位图yourSelectedImage
。然后将其保存到数据库,将其转换为byte[]
您正在解码一个文件,该文件实际上是一个URL。所以你的yourSelectedImage
是null
。而当你试图使用
yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
你NullPointerException
调试程序,看看你在SingleImageURL得到压缩它? – Shiv 2013-03-05 13:02:17