您的位置:首页 > 理论基础 > 计算机网络

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

2016-04-21 21:16 477 查看
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"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: