ImageLoader使用记录
来源:互联网 发布:涟源市私立行知中学 编辑:程序博客网 时间:2024/06/07 17:36
ImageLoader使用记录
导读
ImageLoader的目的是提供一个强大的、灵活的和高度可定制的工具用来进行图像的加载、缓存和显示。它提供了大量的配置选项,并能很好地控制图像加载和缓存的过程。但是很遗憾,这个项目已经在2015年11月27日停止维护了。具体内容可以参考Universal Image Loader(GitHub地址)
使用方法
先要配置ImageLoaderConfiguration这个类实现全局ImageLoader的实现情况。可以选择在Application中初始化设置该类,或者自定义一个类继承Application。
使用ImageLoader进行图片加载的时候,先要实例化ImageLoader,在每个布局里面都要实例化后再使用。
对显示图片的各种格式DisplayImageOptions进行设置。
调用ImageLoader中的方法对图片进行显示,可以设置为默认配置,或者自定义配置,也可为加载过程添加监听事件。
可以参考如下几篇博客:
关于如何配置ImageLoader,请看图片异步加载类库的使用(超详细配置)
使用范例,请看Android开源框架Universal-Image-Loader详解
以及Android UI-开源框架ImageLoader的完美例子,这里博主自己搭了个测试项目,测试了ListView、GridView中使用ImageLoader的情况。
又发现了一篇好博文,关于ImageLoader的源码分析胖虎谈ImageLoader框架(一)
使用范例
在MyApplication类配置ImageLoader
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); initImageLoader(getApplicationContext()); } private void initImageLoader(Context context) { File cacheDir = StorageUtils.getOwnCacheDirectory(context, "imageloader/Cache"); ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(context) .diskCache(new UnlimitedDiskCache(cacheDir)) .build(); ImageLoader.getInstance().init(configuration); }}
解析json数据,将图片保存至本地
/** * 保存用户头像至文件 * @param str 取得的头像json数据 */ private void saveUserImage(String str) { JSONObject jsonObject = null; try { jsonObject = new JSONObject(str); String bitmapString = jsonObject.getString("content"); byte[] bytes = Base64.decode(bitmapString, Base64.DEFAULT); Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); File bitmapFile = new File(this.getApplication().getFilesDir().getAbsolutePath() + "userImage"); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(bitmapFile)); bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos); bos.flush(); bos.close(); } catch (JSONException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
根据本地文件,显示图片
//从本地读取用户头像并显示 private void showUserImage(View view) { String filePath = "file://" + getActivity().getApplication().getFilesDir().getAbsolutePath() + "userImage"; Log.i("dxl", filePath); DisplayImageOptions options; options = new DisplayImageOptions.Builder() .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) .displayer(new RoundedBitmapDisplayer(100))//设置圆角图片 .build(); ImageLoader.getInstance().displayImage(filePath, ivUserImage, options); }}
0 0
- ImageLoader使用记录
- 关于使用imageloader遇到的问题记录
- ImageLoader --- ImageView 图片加载个人使用记录
- 使用ImageLoader
- ImageLoader使用
- Imageloader使用
- ImageLoader使用
- ImageLoader使用
- ImageLoader使用
- ImageLoader本地加载图片记录
- 关于android图片加载框架univser-imageloader使用的一些小技巧记录
- ImageLoader的使用
- ImageLoader的使用
- ImageLoader使用 步骤
- 开源库ImageLoader的使用
- ImageLoader的基本使用
- ImageLoader框架使用步骤
- ImageLoader的使用
- ASR evaluation
- 动态凸包
- 二叉树遍历算法之一:前序遍历
- Codeforces Round #320 (Div. 1) C. Weakness and Poorness(三分)
- cmp函数
- ImageLoader使用记录
- do{...}while(0)的意义和用法
- OpenCV 2.4.6在VS2010的重编译 (OpenCV 源代码 查看)
- ZYB's Premutation(挺简单的数据结构题目)
- Mac OS X Yosemite 10.10 配置 Apache+PHP 教程注意事项
- springmvc配置shiro进行权限控制
- sql语句查询一对一,一对多,多对多
- Java 程序性能优化《第一章》Java性能调优概述 1.4小结
- iOS cocoa touch 部分控件学习笔记