位置: 编程技术 - 正文

使用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年
  • 企业所得税中准予扣除的损失
  • 广告租赁公司
  • 借主营业务成本贷库存商品
  • 水电费的增值税计入什么科目
  • 工程款中包含增值税怎么处理
  • 如何手动更新目录
  • 包装物押金收入含税吗
  • 销售二手车减免税额会计分录
  • 怎么看iPhone电池温度
  • springboot上传文件大小设置
  • PHP:Memcached::set()的用法_Memcached类
  • 个人出租商用房个人所得税
  • yolov5最新版
  • php 函数作为参数
  • 融资租赁的会计科目
  • 员工辞退补偿金需要交个税吗
  • 关于专利技术转让的说法
  • 没有初级会计证可以从事会计工作吗
  • 往账来账是什么意思
  • 什么是关联企业?关联企业之间业务往来
  • phpcms不支持https怎么办
  • mysql查询的结果缓存里怎么清除
  • 长期待摊费用计提摊销的会计分录
  • 两处取得收入,如何进行个税的申报?
  • 股东分红方式如何约定
  • 增值税发票跨月红冲操作流程
  • 公司滞纳金员工承担怎么做账
  • 社保可以抵扣吗
  • sql server 2014删除
  • 计提电费的会计分录怎么写
  • 在建工程增多
  • 高铁票可以抵扣的进项
  • 单位租的个人房怎么入账
  • 红字发票销项税额账务处理
  • 企业注销清算报告模板
  • 代扣代缴的个人所得税在现金流量表
  • 母子公司合并报表实操
  • 对公账户与私人账户都是一级
  • 建账时必须输入的内容有哪些
  • mysql多表连接的方式
  • mysql新手视频教学
  • mysql5.7免安装版配置
  • win7旗舰版系统还原无法启动
  • 组建,加入或退出工会都是基于
  • macbook像素能不能提高
  • macbook看视频卡顿
  • win8 升级 win10
  • 苹果发布首款MR头显
  • 进程 内核栈
  • centos的防火墙怎么关
  • Linux VPS vsftp/proftpd FTP时间差八小时的解决方法
  • win7系统怎么修改开机密码
  • win10一周年深色主题
  • Node.js中的事件循环是什么意思
  • linux shell 中 2>&1的含义
  • 静态文件格式有哪些
  • javascriptj
  • 理解js绑定事件是什么
  • 安卓两页合并到下一页
  • 南京税务局几点上班几点下班
  • 税务部门督查内审部门监督检查的内容
  • 高级人民法院党组书记级别
  • 混合销售定义是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设