Universal-Image-Loader学习系列(一),下载及简单的使用

来源:互联网 发布:snp数据下载 编辑:程序博客网 时间:2024/05/28 06:06

1.Universal-Image-Loader的简介


在Android应用开发过程中,加载和处理图片是一种非常普遍的的需求。一个好的图片处理框架对应用的性能和用户的体验有着很大的帮助。对于新手来说,自己写一个高效的图片处理框架可能有点难度。幸运的是,在图片加载处理方面已经有一些比较完善的开源项目,而且使用起来也很简单。目前用的比较多图片加载框架的有两个,一个是  Android-Universal-Image-Loader,还有一个是picasso,前者的Star已经超过8000,后者Star也已经超过5000,都是比较成熟和完善的开源项目。因为我的项目使用的是UIL,所以我主要介绍UIL的使用。
UIL的主要特点:
异步或者同步多线程加载图片
可以灵活的配置线程池,内存缓存和磁盘缓存,图片的压缩,解码和下载等等
图片内存缓存和磁盘缓存

监听图片下载的进度

看一下Universal-Image-Loader加载网络图片的效果图吧:


2.Universal-Image-Loader的下载

UIL项目的地址是https://github.com/nostra13/Android-Universal-Image-Loader,在这里可以下载需要用到的jar包和源码,目前最新的版本是1.9.3。我重新上传了一份http://download.csdn.net/download/jiangxuqaz/8567367,包含jar包和demo,官方demo中一些图片URL不能访问,已经被我替换掉。将下载的jar包放在项目libs文件夹下面,这样就能用了。


3.Universal-Image-Loader支持的图片URI格式


"http://site.com/image.png" // 网络图片
"file:///mnt/sdcard/image.png" // SD卡图片
"file:///mnt/sdcard/video.mp4" // SD卡mp4视频的缩略图
"content://media/external/images/media/13" // 内容提供者的uri
"content://media/external/video/media/13" //内容提供者的视频uri"
assets://image.png" // Android项目assets文件夹里面的图片
"drawable://" + R.drawable.img //Android项目drawable文件夹里面的图片

特别注意的是,前缀不能少,通常SD卡获取的路径前面还要加上file://,否则UIL识别不了,图片就会加载失败。加载图片需要访问网络和SD卡,所以不要忘了加权限:

    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

4、ImageLoader简单用法


首先需要获取一个ImageLoader对象,ImageLoader采用的是单例模式,只会存在一个对象。同时,在使用前,必须要初始化配置文件,否则会抛出异常。这两部做好以后,我们就可以使用ImageLoader来加载图片了。先看看最简单的使用:

ImageView imageView=(ImageView)findViewById(R.id.imageView1);String url="http://ww4.sinaimg.cn/large/90bd89ffjw1eqvmd6o8r6j20go0p5ju2.jpg";//获取ImageLoader对象ImageLoader imageloader=ImageLoader.getInstance();//使用默认的ImageLoaderConfigurationImageLoaderConfiguration configuration=ImageLoaderConfiguration.createDefault(this.getApplicationContext());//初始化ImageLoader的配置imageloader.init(configuration);//加载图片imageloader.displayImage(url, imageView);

这样就可以加载网络图片了,这里面不管是ImageLoader的配置还是图片显示的配置,都是使用ImageLoader默认的,当ImageLoader的强大之处就在于它可以灵活的配置。后续文章会另外分析。虽然上面只有几行代码,其实ImageLoader使用了很多默认的配置,下一篇文章将介绍ImageLoader详细的使用方法,主要配置参数及加载图片选项。
0 0
原创粉丝点击