Android Universal ImageLoader

来源:互联网 发布:巫师3欧飞尔套装数据 编辑:程序博客网 时间:2024/06/06 01:50
Universal-Image-Loader是一个非常好用的Android网络通信框架。

GitHub地址
ZIP包下载地址

Universal Image Loader

UIL(Universal Image Loader )的目的是提供一个功能强大,图像加载灵活和高度可定制的仪表,缓存和显示。它提供了大量的配置选项,并很好地控制图像加载和缓存过程。

这里写图片描述
项目新闻

  • 真的没有时间更新但无论如何UIL还活着:)

在新的扩展版即将到来的改变(UIL 1.9.4 +)

  • 支持内存缓存
  • 视频文件缩略图支持通过file:///sdcard/video.mp4
  • 新APIDisplayImageOptions.targetSize(ImageSize)
  • 支持HTTP缓存
  • 考虑添加BitmapFactory.Options.inBitmap
  • 文件在LruDiskCache生存时间的选择

    特征

  • 多线程加载图像(异步或同步)
  • 广泛的定制ImageLoader配置(线程的执行者,下载器、解码器、内存和磁盘缓存,显示图像选项等)
  • 许多自定义选项的每一个显示图像调用(存根图像,缓存开关,解码选项,位图处理和显示等)
  • 内存和/或磁盘上的图像缓存(设备的文件系统或SD卡)
  • 监听加载程序(包括下载进度)

Android 2.0+支持
下载
universal-image-loader-1.9.3.jar
universal-image-loader-1.9.3-with-sources.jar (for Eclipse)

文档

  • 快速设置
  • 配置
  • 显示选项
  • 有用的信息-阅读后,问一个问题
  • 用户支持-在创建新的问题之前阅读它
  • 示例项目-学习它,以了解框架使用的正确的方式
  • 更新信息-关于API的变化在这里

使用

合法的URI的例子

"http://site.com/image.png" // from Web"file:///mnt/sdcard/image.png" // from SD card"file:///mnt/sdcard/video.mp4" // from SD card (video thumbnail)"content://media/external/images/media/13" // from content provider"content://media/external/video/media/13" // from content provider (video thumbnail)"assets://image.png" // from assets"drawable://" + R.drawable.img // from drawables (non-9patch images)

注意:使用drawable://只有当你真的需要它!总是考虑负荷可-地道的ImageView.setImageResource(...)替代使用ImageLoader

简单的

// Load image, decode it to Bitmap and display Bitmap in ImageView (or any other view //  which implements ImageAware interface)imageLoader.displayImage(imageUri, imageView);
// Load image, decode it to Bitmap and return Bitmap to callbackimageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {    @Override    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {        // Do whatever you want with Bitmap    }});
// Load image, decode it to Bitmap and return Bitmap synchronouslyBitmap bmp = imageLoader.loadImageSync(imageUri);

完成

// Load image, decode it to Bitmap and display Bitmap in ImageView (or any other view //  which implements ImageAware interface)imageLoader.displayImage(imageUri, imageView, options, new ImageLoadingListener() {    @Override    public void onLoadingStarted(String imageUri, View view) {        ...    }    @Override    public void onLoadingFailed(String imageUri, View view, FailReason failReason) {        ...    }    @Override    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {        ...    }    @Override    public void onLoadingCancelled(String imageUri, View view) {        ...    }}, new ImageLoadingProgressListener() {    @Override    public void onProgressUpdate(String imageUri, View view, int current, int total) {        ...    }});
// Load image, decode it to Bitmap and return Bitmap to callbackImageSize targetSize = new ImageSize(80, 50); // result Bitmap will be fit to this sizeimageLoader.loadImage(imageUri, targetSize, options, new SimpleImageLoadingListener() {    @Override    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {        // Do whatever you want with Bitmap    }});
// Load image, decode it to Bitmap and return Bitmap synchronouslyImageSize targetSize = new ImageSize(80, 50); // result Bitmap will be fit to this sizeBitmap bmp = imageLoader.loadImageSync(imageUri, targetSize, options);

加载和显示任务流程

这里写图片描述

捐助
你可以资助这个项目,并感谢作者的辛勤工作:)

  • pledgie捐助地址
  • flattr捐助地址

替代方案

  • AndroidQuery : ImageLoading(需要翻Qiang)
  • DroidParts : ImageFetcher
  • Glide
  • Picasso
  • UrlImageViewHelper
  • Volley : ImageLoader(需要翻Qiang)

许可证

Copyright 2011-2015 Sergey TarasevichLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at   http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.

使用

1,导入Module时,Gradle会报错,把提示那一行删掉即可。

资源

  • universal image loader加载本地图片
  • Universal-Image-Loader完全解析(一)
0 0
原创粉丝点击