如何在Android中显示Blob图像?

6

我希望在我的Android设备上显示从数据库中以blob形式保存的图片。我使用ImageView作为图像容器,请尽快给我建议。

谢谢, Rahul

1个回答

4

基本上有两个选项:

  1. 从BLOB中读取缓冲区并将其包装为InputStream,这样您将拥有指向BLOB数据的InputStream
  2. 将BLOB数据保存到临时文件中,然后将其作为FileInputStream打开-因此最终您将再次拥有图像数据流

在这两种情况下,您都可以轻松地将InputStream转换为位图数据:

InputStream is; //stream pointing to your blob or file
//...
imageView=new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setAdjustViewBounds(true);
imageView.setImageBitmap(BitmapFactory.decodeStream(is));

谢谢Barmaley,我尝试了第二个选项。由于我是通过Web服务接收这些数据的,当我将响应对象属性分配给InputStream时,我遇到了类转换异常:InputStream is =(InputStream)response.getProperty(7);在这种情况下该怎么办? - Rahul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接