位置: 编程技术 - 正文

使用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开发实战)

  • 一分钟了解货币
  • 工业企业开票税率
  • 民办非企业可以上市吗
  • 购买的金蝶软件怎么记账
  • 合同负债与预计负责区别
  • 应付职工薪酬包括哪些内容
  • 购置房屋
  • 个人股权转让协议书范本合同
  • 收到对方的银行汇票算什么凭证
  • 公司给客户退款会计分录
  • 特殊销售方式下销售额的确定
  • 耕地占用税完税证明有什么用
  • 房地产销售税额抵减
  • 沥青混凝土增值税风险
  • 一般纳税人注销公司流程2023
  • 小规模纳税人实行简易征收办法
  • 装修公司一般纳税人纳税标准
  • 超市预付卡开票内容
  • 税控盘的购买流程
  • 房地产企业开发成本计入存货
  • 资本溢价公积金计算公式
  • 进料加工贸易是什么意思
  • 收并购股权溢价
  • 企业会计准则财务报表本期金额和上期金额
  • 通讯费补贴要交税吗
  • 企业不动产销售包括哪些
  • 调减管理费用如何调整本年利润
  • 会计成本核算的三种基本方法
  • 服装具有什么性
  • 政府收费的目的是什么
  • 补缴的附加税怎么入账
  • 调整增值税税率
  • windows 临时文件夹
  • SQL Server2005、2008如何彻底删除卸载并重新安装?
  • 收到采购发票未开票
  • dsregcmd.exe
  • 生产型企业出口退税会计分录
  • php gd
  • 会计利润类科目是什么
  • 求源代码
  • CUDA(10.2)+PyTorch安装加配置 详细完整教程
  • 企业缴纳的所得税应以净利润为基础
  • 前端 高级
  • thinkphp5.0框架
  • 返还土地出让金违法吗?
  • 金税盘减免税款借方余额
  • 如何理解符合立案标准的,行政机关应当及时立案
  • 社保费和公积金一定要计提吗
  • vue实现注册
  • c语言中asin
  • 不抵扣勾选的发票在哪里查看
  • 甲供材的卸料由谁负责
  • 保险车辆理赔入账流程
  • 核定征收适用于什么税率
  • 营业外收入如何开票
  • 超市预付卡销售会计分录
  • 增值税一般纳税人登记表在哪里找
  • 银行业务冲正
  • 领用材料什么会计科目
  • 汇兑损益形成的基础是
  • 建筑企业其他业务收入范围
  • centos进入
  • win8升级win10系统 激活
  • ubuntu安装chia
  • Win7注册表怎么恢复
  • win8系统简介
  • centos8 systemd
  • 怎样加快电脑开机速度
  • centos 安装chia
  • jquery window
  • css样式表可以兼容所有浏览器吗
  • bootstrap基础教程 源代码
  • Node.js中的事件循环是什么样的
  • unity3d如何导入图片
  • 高速发票查询平台官网
  • 契税退税进度怎么查询
  • 江苏增值税电子专用发票可以抵扣吗
  • 一般纳税人服务费是几个点
  • 电子税务局如何查询财务报表
  • 中山火炬开发区建设发展有限公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设