【关于本系列】

最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用。本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用。

由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到。

【介绍】:

ImageLoader作为一款开源的异步图片加载框架,在Android开发中经常被使用到,该控件可以加载和显示图片。并且对其进行缓存,提供了很多方便的选项帮助开发者们快速达到开发需求。

【GitHub页面】:

https://github.com/nostra13/Android-Universal-Image-Loader

【使用步骤】

1.从项目的页面上下载zip包或者clone到本地,找到jar包,导入自己的项目,关于如何导入,根据使用IDE的不同也略有差别,大家可以自行搜索

2.建立一个Activity

3.新建一个ImageLoaderConfiguration对象,用于ImageLoader的初始化,可以直接调用默认方法创建,如下

4.初始化ImageLoader对象,由于使用的是单例模式,所以初始化一次即可

5.创建一个DisplayImageOptions对象,该对象可以设置一些图片显示的选项,如是否缓存到本地,缓存到内存,显示失败时显示哪些内容等

6.调用ImageLoader的displayImage(String uri, ImageView imageView, DisplayImageOptions options)方法进行显示。

【代码】

public class MainActivity extends Activity {
DisplayImageOptions options;//option类可以做一些设置 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView = (ImageView)findViewById(R.id.iv_1);//实例化imageview
String imageUrl = "https://www.baidu.com/img/bdlogo.png";//设置图片URL
ImageLoaderConfiguration config = ImageLoaderConfiguration.createDefault(this);//初始化config类,用于初始化
ImageLoader.getInstance().init(config);//初始化Loader
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)//是否内存缓存
.cacheOnDisk(true)//是否缓存到磁盘
.bitmapConfig(Bitmap.Config.RGB_565)//配置图片以如何的编码显示
.showImageOnFail(R.drawable.pic2)//设置本地图片资源,用于无法加载时显示
.build();
ImageLoader.getInstance().displayImage(imageUrl,imageView, options);//调用displayimage函数,显示
}
}

【效果图】

可以看到,我们的图片已经成功被加载了

【一个更复杂的例子,结合ListView或者ViewPager】

请参考此处:

http://www.cnblogs.com/tianzhijiexian/p/4034386.html

【光速使用开源框架系列】图片加载框架ImageLoader的更多相关文章

  1. Android项目框架之图片加载框架的选择

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 从Android爆发以后,自定义的控件如EditTextWithDelete.ActionBar.P ...

  2. Android图片加载框架最全解析(八),带你全面了解Glide 4的用法

    本篇将是我们这个Glide系列的最后一篇文章. 其实在写这个系列第一篇文章的时候,Glide就推出4.0.0的RC版了.那个时候因为我一直研究的都是Glide 3.7.0版本,再加上RC版本还不太稳定 ...

  3. Android图片加载框架最全解析(五),Glide强大的图片变换功能

    大家好,又到了学习Glide的时间了.前段时间由于项目开发紧张,再加上后来又生病了,所以停更了一个月,不过现在终于又可以恢复正常更新了.今天是这个系列的第五篇文章,在前面四篇文章的当中,我们已经学习了 ...

  4. Android中常见的图片加载框架

    图片加载涉及到图片的缓存.图片的处理.图片的显示等.而随着市面上手机设备的硬件水平飞速发展,对图片的显示要求越来越高,稍微处理不好就会造成内存溢出等问题.很多软件厂家的通用做法就是借用第三方的框架进行 ...

  5. 强大的图片加载框架Fresco的使用

    前面在卓新科技有限公司实习的时候,在自己的爱吖头条APP中,在图片异步加载的时候和ListView的滑动中,总会出现卡顿,这是因为图片的缓存做的不是足够到位,在项目监理的帮助下,有使用Xutils框架 ...

  6. Fresco从配置到使用(最高效的图片加载框架)

    Frescoj说明:      facebook开源的针对android应用的图片加载框架,高效和功能齐全. 支持加载网络,本地存储和资源图片: 提供三级缓存(二级memory和一级internal ...

  7. YYWebImage——iOS异步图片加载框架

    本文转载至 http://www.mobile-open.com/2015/86582.html   YYWebImage 是一个异步图片加载框架 (YYKit 组件之一). 其设计目的是试图替代 S ...

  8. Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能

    我们的Glide系列文章终于要进入收尾篇了.从我开始写这个系列的第一篇文章时,我就知道这会是一个很长的系列,只是没有想到竟然会写这么久. 在前面的六篇文章中,我们对Glide的方方面面都进行了学习,包 ...

  9. Android图片加载框架最全解析(六),探究Glide的自定义模块功能

    不知不觉中,我们的Glide系列教程已经到了第六篇了,距离第一篇Glide的基本用法发布已经过去了半年的时间.在这半年中,我们通过用法讲解和源码分析配合学习的方式,将Glide的方方面面都研究了个遍, ...

随机推荐

  1. Kotlin For Gank.io (干货集中营Kotlin实现)

    介绍 Kotlin,现在如火如荼,所以花了一点时间把之前的项目用Kotlin重构一下 原项目地址:https://github.com/onlyloveyd/GankIOClient 对应Kotlin ...

  2. 【Java 并发】Executor框架机制与线程池配置使用

    [Java 并发]Executor框架机制与线程池配置使用 一,Executor框架Executor框架便是Java 5中引入的,其内部使用了线程池机制,在java.util.cocurrent 包下 ...

  3. RPi 2B QEMU 模拟树莓派

    /******************************************************************************** * RPi 2B QEMU 模拟树莓 ...

  4. I.MX6 View长宽大于屏的分辨率

    /******************************************************************************** * I.MX6 View长宽大于屏的 ...

  5. (六)java数据类型

      数据类型:决定了变量占据多大的空间,决定了变量存储什么类型的数据 整形: byte     1个字节 short    2个字节 int        4个字节 long     8个字节 浮点型 ...

  6. 【英语】Bingo口语笔记(83) - hell系列

  7. SQL—数据分析

    留存分析——左连接 矩阵分析——group by 结构分析:分析每种产品占据总销售量的比例 排序分析

  8. GlassFish的安装与使用(Windows)

    前言 Glassfish是一款由Sun公司开发的(现由甲骨文公司赞助)开源的免费的应用服务器,它既是EJB容器也是WEB容器.Glassfish支持最新版的Java EE标准. Glassfish与T ...

  9. his移植问题

    报错信息 权限不够未截图 注意修改uploads文件权限chmod 777 uploads 修改域名 参照dxtzy项目,sourcetree备注

  10. debian下ror新建项目报错解决

    一个是缺少mysql的开发包 sudo apt-get install libmysqld-dev 还有一个报错如下 debian ExecJS::RuntimeUnavailable: Could ...