【光速使用开源框架系列】图片加载框架ImageLoader
【关于本系列】
最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用。本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用。
由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到。
【介绍】:
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的更多相关文章
- Android项目框架之图片加载框架的选择
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 从Android爆发以后,自定义的控件如EditTextWithDelete.ActionBar.P ...
- Android图片加载框架最全解析(八),带你全面了解Glide 4的用法
本篇将是我们这个Glide系列的最后一篇文章. 其实在写这个系列第一篇文章的时候,Glide就推出4.0.0的RC版了.那个时候因为我一直研究的都是Glide 3.7.0版本,再加上RC版本还不太稳定 ...
- Android图片加载框架最全解析(五),Glide强大的图片变换功能
大家好,又到了学习Glide的时间了.前段时间由于项目开发紧张,再加上后来又生病了,所以停更了一个月,不过现在终于又可以恢复正常更新了.今天是这个系列的第五篇文章,在前面四篇文章的当中,我们已经学习了 ...
- Android中常见的图片加载框架
图片加载涉及到图片的缓存.图片的处理.图片的显示等.而随着市面上手机设备的硬件水平飞速发展,对图片的显示要求越来越高,稍微处理不好就会造成内存溢出等问题.很多软件厂家的通用做法就是借用第三方的框架进行 ...
- 强大的图片加载框架Fresco的使用
前面在卓新科技有限公司实习的时候,在自己的爱吖头条APP中,在图片异步加载的时候和ListView的滑动中,总会出现卡顿,这是因为图片的缓存做的不是足够到位,在项目监理的帮助下,有使用Xutils框架 ...
- Fresco从配置到使用(最高效的图片加载框架)
Frescoj说明: facebook开源的针对android应用的图片加载框架,高效和功能齐全. 支持加载网络,本地存储和资源图片: 提供三级缓存(二级memory和一级internal ...
- YYWebImage——iOS异步图片加载框架
本文转载至 http://www.mobile-open.com/2015/86582.html YYWebImage 是一个异步图片加载框架 (YYKit 组件之一). 其设计目的是试图替代 S ...
- Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能
我们的Glide系列文章终于要进入收尾篇了.从我开始写这个系列的第一篇文章时,我就知道这会是一个很长的系列,只是没有想到竟然会写这么久. 在前面的六篇文章中,我们对Glide的方方面面都进行了学习,包 ...
- Android图片加载框架最全解析(六),探究Glide的自定义模块功能
不知不觉中,我们的Glide系列教程已经到了第六篇了,距离第一篇Glide的基本用法发布已经过去了半年的时间.在这半年中,我们通过用法讲解和源码分析配合学习的方式,将Glide的方方面面都研究了个遍, ...
随机推荐
- angularJs 模拟jQuery中的this
在angularJs中,this指向$scope!可以$event配合使用$(event.target)实现,代码如下: HTML部分: <p ng-click="testClick( ...
- Golang调用windows下的dll动态库中的函数
Golang调用windows下的dll动态库中的函数 使用syscall调用. package main import ( "fmt" "syscall" & ...
- web service(转载)
原文引自:http://blog.csdn.net/wooshn/article/details/8069087 WebService到底是什么? 一言以蔽之:WebService是一种跨编程语言和跨 ...
- libwebsockets 运行问题
/****************************************************************************** * libwebsockets 运行问题 ...
- Android开源框架-Annotation框架(以ViewMapping注解为例)
Annotation 分类 1 标准 Annotation 包括Override, Deprecated, SuppressWarnings,标准 Annotation 是指 Java 自带的几个 A ...
- [BZOJ]4034: [HAOI2015]树上操作
[HAOI2015]树上操作 传送门 题目大意:三个操作 1:a,b,c b节点权值+c 2:a,b,c 以b为根的子树节点权值全部+c 3:a,b 查询b到根路径的权值和. 题解:树链剖分 操作1 ...
- 设置ubantu的软件源地址
查看所用的源 $ sudo vim /etc/apt/sources.list 由于安装的Ubuntu Server 16.04.1 LTS是英文版的,软件源就默认都是 us.archive.ubun ...
- zabbix监控的配置
ZABBIX监控的操作步骤有两个! 首先登录到zabbix 的主界面在configuration---host---create host在如上的host 创建界面中 主要是输入被监测的server的 ...
- 1120 Friend Numbers
题意:略. 思路:水题,略. 代码: #include <iostream> #include <string> using namespace std; ; }; int m ...
- jQuery UI Draggable + Sortable 结合使用
工作中需要将一个左边的设计好的控件,拖拽到右边的面板中,同时保持右边面板中的控件自由排序,这时候就需要及支持拖拽又支持排序的操作了, Demo截图:从左边控件拖到右边区域 代码段: <scrip ...