Android SDK中自带的ImageView控件,没有根据网络的URL地址得到图片的功能。所以就得引进一个

开源控件SmartImageView,这个控件的包可以去GitHub网站上下载。


  SmarImageView的能干什么

  在这个开源项目中的README文件中,是这么描述这个组件的:

  SmartImageView是用来替换Android中标准的ImageView组件的,它新增的可能可以从URL、用户的联系地址簿获取,而且图片缓存到内存和磁盘可以更快的加载。


  SmarImageView的使用

  1.导包:

    wKiom1WrCluArtSLAAEZPuDQPUc956.jpg

  2.在XML中使用,注意要加上包名:

    wKioL1WrDFHz6c7IAACMwLHlKco206.jpg

    包名一般不手写,容易出错而且慢,可以找到SmartImageView.java,点击展开,右击

    (C)SmartImageView,然后点击Copy Qualified Name即可复制完整的带包名的控件名。

    wKioL1WrDSLS2VkHAAHHVx5w4ME386.jpg

  3.在代码中使用SmartImageView

    注意声明要用SmartImageView,然后调用它的setImageUrl(String url)即可得到网络图片。

    img.setImageUrl(news_item.p_w_picpath, R.drawable.loaderror);    //第1个参数表示要访

             问的网络图片URL地址,第2个参数为找不到网络图片时默认显示的图片。

    

 SmarImageView的原理

   SmartImageView继承了ImageView,添加了许多新的功能,如setImageUrl,它也有很多的重载

 形式。它的底层还是使用网络访问HttpURLConnection获取网络图片的,当然它也解决了缓存的问题,

 还有显示图片加载进度条等功能。

    总之,这些功能听起来都特别的爽,不过在用开源项目的同时,最好先要大概理解一下它的原理