Android SimpleAdapter动态显示Bitmap图片

因为要实现从服务器中读取商品图片显示在listview中,之前写的Demo是不考虑显示图片,而是采用了本地图片进行演示,因为只需要读取文本信息,所以采用了比较简单的SimpleAdapter来实现相关功能。

具体实现如下:

只截取了从服务器中读取数据并显示在listview中的代码

当我想显示图片的时候,仅仅添加map.put(“Image”, c.getString(“Image”)); 是无法得到图片信息的

 

步骤:

服务器中图片的存储存的是路径名,php返回的JSON值也仅仅是路径名而已,所以,如果Android需要通过给定的路径读取到图片并转换成Bitmap

1. 首先,我们需要设置缓冲区大小

2. 接着实现ImageLoad类

3. 再在之前的源程序中加入获取服务器中图片的代码:

4.修改SimpleAdapter from和to, 把图片信息加进去,注意要一一对齐

这时候运行,发现之前自定义的本地图片已经不显示了,但是获取的图片为空白,而在ImageLoad中返回的Log.i日志可以看到,URL也是正确的,这意味着Android客户端已经得到了图片,那为什么没有显示在listview中呢?

这时候翻整个工程的日志你可以看到这样一行:

这是因为如果ListView要显示外部资源的话必须要设置ViewBinder,通过ViewBinder的绑定机制来显示网络资源

 

并在onPostExecute函数中加入

这样即可实现通过SimpleAdapter获取服务器中,网络或者是文件中的图片,显示在listview中

posted on 2014-09-24 05:46  mimamo  阅读(523)  评论(0)    收藏  举报

导航