从Web服务中获取SQLite数据库中的图像

时间:2013-03-05 12:56:49

标签: android parsing android-sqlite

我正在研究android app,我在其中解析来自webservice的数据,然后将其存储在数据库中。在这里,我还想将图像存储在数据库中,然后在下一个活动中返回。

我正在使用此代码将图像插入数据库。

Bitmap yourSelectedImage;
ByteArrayOutputStream stream;
byte[] byteArray;

这是for 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);
请告诉我我哪里出错了。以及如何做到这一点。

1 个答案:

答案 0 :(得分:3)

使用this link加载您的位图yourSelectedImage。然后通过将其转换为byte[]

将其保存到数据库

您正在解码文件,实际上是一个URL。所以yourSelectedImagenull。当你尝试使用

压缩它时
yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream);

你得到NullPointerException