UniversalImageLoader——异步加载图片
来源:互联网 发布:怎么用淘宝卖东西 编辑:程序博客网 时间:2024/06/05 18:36
昨天在逛CSDN时,偶然看到了一篇文章是关于异步加载图片的,起初也没再留意,后来深入研究了下,感觉相当有用,这就是第三方开源的——UniversalImageLoader,感觉确实是很屌很实用的一种异步加载图片的方法。关于什么是UniversialImageLoader? 也不多说明介绍了。其实现的功能包括,异步实现加载网上资源并显示在指定位置,可设置加载图片的大小和各种参数设置,可为图片在加载前和加载失败后显示默认图片,以及显示加载进度条。更重要的是它不仅仅可以加载网络资源,也可以加载本地如SD卡,assets里的图片资源。挺强大的功能的,具体看一下代码吧,代码都是注释详细的。
package com.example.universalimageloader;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.assist.ImageSize;import com.nostra13.universalimageloader.core.listener.ImageLoadingProgressListener;import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;import android.app.Activity;import android.graphics.Bitmap;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.ImageView;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final ImageView imageView = (ImageView) findViewById(R.id.image);String imgUrl = "http://pic11.nipic.com/20101130/6320018_113749092512_2.jpg";ImageSize imageSize = new ImageSize(100, 100); // 定义加载的图片大小// 显示图片的配置(这里我添加了将图片缓存到内存中已经缓存图片到文件系统中,// 这样我们就不用担心每次都从网络中去加载图片了)DisplayImageOptions displayImageOptions = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(true).bitmapConfig(Bitmap.Config.RGB_565).showImageOnLoading(R.drawable.ic_launcher) // 图片加载成功前显示的图片.showImageOnFail(R.drawable.ic_launcher) // 图片加载成功后显示的图片.build();/** * 第一种方式实现载入网上图片资源 *//* * ImageLoader.getInstance().loadImage(imgUrl, new * ImageLoadingListener() { * * @Override public void onLoadingStarted(String arg0, View arg1) { // * TODO Auto-generated method stub * * } * * @Override public void onLoadingFailed(String arg0, View arg1, * FailReason arg2) { // TODO Auto-generated method stub * * } * * @Override public void onLoadingComplete(String arg0, View arg1, * Bitmap arg2) { imageView.setImageBitmap(arg2); } * * @Override public void onLoadingCancelled(String arg0, View arg1) { // * TODO Auto-generated method stub * * } }); *//** * 第二种方式实现载入网络图片资源 *//* * ImageLoader.getInstance().loadImage(imgUrl, new * SimpleImageLoadingListener(){ * * @Override public void onLoadingComplete(String imageUri, View view, * Bitmap loadedImage) { super.onLoadingComplete(imageUri, view, * loadedImage); imageView.setImageBitmap(loadedImage); } * * }); *//** * 第三种方式实现载入网络图片资源 */// ImageLoader.getInstance().displayImage(imgUrl,// imageView,displayImageOptions);/** * 添加具有加载进度条的图片加载 */ImageLoader.getInstance().displayImage(imgUrl, imageView,displayImageOptions, new SimpleImageLoadingListener(),new ImageLoadingProgressListener() {@Overridepublic void onProgressUpdate(String arg0, View arg1,int arg2, int arg3) {// TODO Auto-generated method stub}});/** * 加载来源于非网络的图片资源(本地图片资源) *//* * String imagePath = "/mnt/sdcard/image.png"; String imageUrl = * Scheme.FILE.wrap(imagePath); //图片来源于Content provider String * contentprividerUrl = "content://media/external/audio/albumart/13"; * * //图片来源于assets String assetsUrl = Scheme.ASSETS.wrap("image.png"); * * //图片来源于 String drawableUrl = * Scheme.DRAWABLE.wrap("R.drawable.image"); * ImageLoader.getInstance().displayImage(imageUrl, imageView, * displayImageOptions); */}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
同时附上Demo源码下载地址:
点击下载
0 0
- UniversalImageLoader——异步加载图片
- Android图片加载框架——UniversalImageLoader
- Android图片加载框架——UniversalImageLoader
- android平台UniversalImageLoader(异步加载大量图片
- 开源项目之UniversalImageLoader(异步加载大量图片)
- 开源项目之UniversalImageLoader(异步加载大量图片)
- 开源项目之UniversalImageLoader(异步加载大量图片)
- UniversalImageLoader图片加载
- 图片加载框架---UniversalImageLoader使用(一)
- 图片加载框架---UniversalImageLoader使用(一)
- 图片加载框架---UniversalImageLoader使用(一)
- 图片加载框架---UniversalImageLoader使用(一)
- UniversalImageloader 加载图片模糊问题的解决办法
- UniversalImageLoader不能加载本地图片的解决方法
- universalimageloader加载本地图片(转载)
- Android——异步加载图片
- Universalimageloader图片加载框架缓存本地图片的使用
- 使用UniversalImageLoader 加载网络图片并附带缓存效果
- 经典编程题-ABC各教那门课
- 0X7FFFFFFF,0X80000000
- hdu 2147 kiki game
- apache配置https协议
- 【VBA研究】VBA编程产生不重复随机数
- UniversalImageLoader——异步加载图片
- ruby 进行双进程或多进程,并且设置时间
- Surrounded Regions
- SPP.NET MVC的Action和Result、异常过滤器以及过滤器优先级、多重过滤器
- 【整理】byte[], String 转换
- 个人知识管理工具及相关经验技巧
- ora-00064
- Eclipse中右键项目没有Project Facets的解决方法
- W3C CSS Standard