位置: 编程技术 - 正文

使用Unversial-image-loader来异步加载网络图片和本地图片(二)完结篇(使用灭火器时要对准火焰的什么部位喷射)

编辑:rootadmin

推荐整理分享使用Unversial-image-loader来异步加载网络图片和本地图片(二)完结篇(使用灭火器时要对准火焰的什么部位喷射),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:使用二氧化碳灭火器时人应该站在什么位置,使用的拼音,使用的拼音,使用权资产,使用灭火器时要对准火焰的什么部位喷射,使用的拼音,使用筷子就餐会不会传染乙肝病毒,使用时间,内容如对您有帮助,希望把文章链接给更多的朋友!

上一篇使用了Universal-Image-Loader这个控件加载了网络图片,当然,你觉得这个控件只能加载网络图片的话,那你就太小瞧它了,它同样也能加载本地图片!这次就来使用它加载本地图库的照片。

这次我整合了上次加载网络图片的功能很这次的加载本地图片的功能,放在了一起。

先上效果图(加载网络图片的效果在上一篇博客):

Universal-Image-Loader用来加载图片的方式都是通过传递URl来加载的,这是项目里给出的URl的形式:

" // from Web

" // from SD card

" // from SD card (video thumbnail) " // from content provider " // from content provider (video thumbnail) " // from assets

使用Unversial-image-loader来异步加载网络图片和本地图片(二)完结篇(使用灭火器时要对准火焰的什么部位喷射)

" &#; R.drawable.img // from drawables (non-9patch images)

依然给出代码:

//得到本地图片的URis

map = getImageUrl();// 配置图片加载及显示选项(还有一些其他的配置,查阅doc文档吧)DisplayImageOptions options = new DisplayImageOptions.Builder().showStubImage(R.drawable.loading)// 在ImageView加载过程中显示图片.showImageForEmptyUri(R.drawable.loading)// image连接地址为空时.showImageOnFail(R.drawable.loading)// image加载失败.cacheOnDisc(true)// 加载图片时会在磁盘中加载缓存.cacheInMemory(true)// 加载图片时会在内存中加载缓存.build();// 主要有线程类、缓存大小、磁盘大小、图片下载与解析、日志方面的配置ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getApplicationContext()).memoryCache(new UsingFreqLimitedMemoryCache( * * )).defaultDisplayImageOptions(options).build();ImageLoader.getInstance().init(configuration);LocalWaterFallAdapter adapter = new LocalWaterFallAdapter(map,getApplicationContext());localList.setAdapter(adapter);}

//得到图片的URlpublic HashMap<Integer, Model> getImageUrl() {HashMap<Integer, Model> datas = new HashMap<Integer, Model>();Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,new String[] { MediaStore.Images.Media.DATA,MediaStore.Images.Media._ID }, null, null, null);for (int i = 0; i < cursor.getCount(); i&#;&#;) {cursor.moveToPosition(i);int dataIndextColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATA);String fileName = cursor.getString(dataIndextColumn);try {File file = new File(fileName);if (!file.exists()) {continue;}} catch (Exception e) {// TODO: handle exception}Model model = new Model("file:/"&#; cursor.getString(dataIndextColumn).toString());datas.put(i, model);}cursor.close();return datas;}

//Model这个类用来加载uri

public class Model { String url; public Model(String url) {this.url = url; } }

适配器代码:

private Context context;private HashMap<Integer, Model> map;private Drawable drawable;private ImageLoader imageLoader;private DisplayImageOptions options;public LocalWaterFallAdapter(HashMap<Integer, Model> map, Context context) {this.context = context;this.map = map;drawable = context.getResources().getDrawable(R.drawable.loading);imageLoader = imageLoader.getInstance();imageLoader.init(ImageLoaderConfiguration.createDefault(context));options = new DisplayImageOptions.Builder().showStubImage(R.drawable.loading).showImageForEmptyUri(R.drawable.loading).showImageOnFail(R.drawable.loading).cacheInMemory(true).bitmapConfig(Bitmap.Config.RGB_).build();}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn map != null ? map.size() : 0;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubfinal ViewHolder viewHolder;if (convertView == null) {convertView = LayoutInflater.from(context).inflate(R.layout.image_item, null);viewHolder = new ViewHolder();viewHolder.imageView = (ImageView) convertView.findViewById(R.id.image);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}imageLoader.displayImage(map.get(position).url, viewHolder.imageView,options);return convertView;}class ViewHolder {ImageView imageView;}

这样就能使用Unversial-Image-Loader来加载本地图片了,也是相当方便,学习就到这了,当然还远远不够,真正厉害的大神都是去直接解析源代码的算法之类的。我暂时还看不懂,只能慢慢学吧!总之,Unversial-Image-Loader是一款非常好的用来异步加载图片的工具!

Error when loading the SDK:发现了以元素 &#;d:skin&#; 开头的无效内容 更新了AndroidSDK之后,打开Eclipse就弹出错误提示,每次打开虚拟机的时候也报这样的错误:[--::-AndroidSDK]ErrorwhenloadingtheSDK:Error:ErrorparsingD:adt-bu

OpenCV+Android开发配置 最近想把OpenCV的程序放在手机上玩一玩,就找了Android和OpenCV的配置和开发的资料,发现很多都不靠谱,整了很久,最后找到一两篇不错的博文,我这里

应用程序使用同一个TAG的Log方法 1.简介调用Log记录日志时,如果每个文件定义自己的TAG,且作为Log的第一个入参,那么在adblogcat的使用,要写上多个TAG:d。为了简化,可以让整个应用使

标签: 使用灭火器时要对准火焰的什么部位喷射

本文链接地址:https://www.jiuchutong.com/biancheng/385979.html 转载请保留说明!

上一篇:第二章,动态添加按钮(Android)

下一篇:OpenCV+Android开发配置(opencvandroid开发实战)

  • 增值税发票综合服务平台密码
  • 支付宝如何缴纳车辆购置税
  • 所得税减免会计分录
  • 小微企业做什么
  • 个税申报填写的工资是应发还是实发
  • 增值税免缴
  • 职工教育经费税法
  • 哪些邮政业务可以寄快递
  • 汇算清缴职工福利支出
  • 计划成本法领用原材料会计分录
  • 其他综合收益损失
  • 电商平台流量费用怎么算
  • 过节发什么物资给员工好些
  • 购买生产用品会计分录
  • 毁损材料的损失怎么算
  • 货物运输企业的经营方式
  • 预收账款核算内容是什么
  • 机械设备租赁征求意见稿
  • 商务旅行人身意外伤害险在税前扣除范围内吗?
  • 税务部门如何核定税额
  • 施工企业直接费间接费怎么算
  • 委外技术服务费应归集哪个研发项目
  • 普票红冲后原件没有了怎么办
  • 会计档案保管最新规定
  • 建筑业调试费进什么科目?
  • 个体户需要对公户吗
  • 抄报汇总对比通用怎么写
  • 发票已开货没发出的账务处理?
  • 12306打不开怎么回事苹果手机
  • 关联业务往来年度报告表
  • 承兑兑现违法吗
  • 事业单位在建工程转固定资产的账务处理
  • 应收账款零头会计处理
  • 如何禁用开始目录的app自动推荐
  • 留抵税额抵扣会计分录
  • 超市代金券买什么最划算
  • 代开房租的税点计入什么科目?
  • 现金流量科目怎么设置
  • 新产品研发费的会计分录
  • oawrapper.exe是什么
  • 铁路运输企业受托代征的印花税款信息
  • 收到银行退回账号短信
  • 减征增值税会计处理
  • 纳入资本公积
  • php日期计算器
  • 以前年度损益调整结转到哪里
  • vue知识点汇总
  • vue路由跳转携带参数怎么接收
  • 教育费附加免税需要计提吗?
  • 利润表上期数指的是什么
  • 暂估入账的原材料有成本差异吗
  • MySQL默认字符集修改
  • 出售固定资产不确认收入
  • 发票上的折扣是什么意思
  • 国外扣款手续费
  • 个体工商户记账报税教程
  • 什么叫临建工程
  • 净资产增长率增长说明什么
  • 固定资产盘亏计入固定资产清理吗
  • 史上最快的速度
  • win10关掉搜索
  • mini program是什么
  • linux shell 函数参数
  • opengl oes纹理
  • shell自定义命令
  • nginx日志切割原理
  • bat脚本自动点击按钮
  • ssh -keygen
  • unity 优化
  • js判断符
  • js dom方法
  • jQuery ajax分页插件实例代码
  • javascript例题
  • js基于什么
  • 记住密码自动登录怎么取消
  • jquery遍历li
  • 以下关于android应用程序的目录结构描述中,不正确的是
  • python代码规范化
  • 税务总局纪律作风
  • 我国国家宪法日是每年的十二月几日
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设