Android学习(35) -- smart-image-view 获取网络图片

SmartImageView的设计初衷是来取代Android自带的ImgageView组件,另外它还提供了一些附加功能,如:

  • 支持通过URL来加载图片;
  • 支持从电话簿中加载图片;
  • 异步加载图片;
  • 图片被缓存在内存,以便下次快速加载显示;
  • SmartImageView类可以被很容易扩展成对其它资源的调用;

作者主页:http://loopj.com/android-smart-image-view/下载提供的jar包,
该项目是开源的,也可以去github下载源码使用
https://github.com/loopj/android-smart-image-view

XML添加一个控件
<com.loopj.android.image.SmartImageView android:id="@+id/iv" />

获取引用
SmartImageView myImage = (SmartImageView) this.findViewById(R.id.my_image);

通过路径获取图片
myImage.setImageUrl("http://192.168.1.12:8080/tu.jpg");

获取网络图片,这个过程本身就是异步。不必再进行处理,也不必担心线程阻塞
网络获取到的图片都进行了缓存的处理。会在程序的cache目录下建/web_image_cache/,图片存在这里
上次使用的时候,如果缓存图片已经存在,则不再从网络获取图片

布局
    <com.loopj.android.image.SmartImageView 
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />


代码
	public void click(View v){
		//下载图片
		//1.确定网址
		String path = "http://192.168.13.13:8080/dd.jpg";
		//2.找到智能图片查看器对象
		SmartImageView siv = (SmartImageView) findViewById(R.id.iv);
		//3.下载并显示图片
		siv.setImageUrl(path);
	}

添加权限
<uses-permission android:name="android.permission.INTERNET"/>

你可能感兴趣的:(Android学习(35) -- smart-image-view 获取网络图片)