位置: 编程技术 - 正文

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

  • 不含税销售额计算公式理解
  • 进项税额转出的情况
  • 玉米大量收购
  • 填写了领款单还要填报销单吗
  • 增值税专用发票抵扣税额是什么意思
  • 税务结清后多少时间内工商需要注销
  • 固定资产升值可以入账吗?
  • 税务逾期记录怎么消除不了
  • 房产出租增值税税目
  • 发票没用完可以申请超限量吗
  • 企业处置固定资产
  • 本年利润怎样结转未分配利润
  • 周转材料租赁费怎么结转成本
  • 增值税即征即退会计处理
  • 委托加工物资加工费怎么结转
  • 服装发票怎么进项抵扣
  • 承兑贴息的会计分录
  • 管理费用明细是什么意思
  • 主营业成本和销售费用的区别
  • prevsrv.exe - prevsrv是什么进程 有什么用
  • 腾讯电脑管家中蓝牙在哪
  • Excel规划求解怎么做
  • 如何在Excel中合并计算
  • 行政单位年底结账怎么算
  • 生产企业提供售后服务
  • 增值税专用发票和普通发票的区别
  • 在win7中,打开资源管理器的快捷键
  • 文件夹正在使用,操作无法完成
  • 怎么添加动态磁贴
  • 交易性金融资产的入账价值
  • cpqa1000.exe是安全进程吗 cpqa1000进程有什么作用
  • 冰上的卷羽鹈鹕,希腊凯尔基尼湖 (© Guy Edwardes/Minden Pictures)
  • 纳税申报包括哪些税种
  • php开发实战权威指南
  • 员工的通讯费怎么报销
  • 自然人税收管理系统扣缴客户端app
  • 无法登陆p.to
  • vue err
  • 华为od机试题题库
  • transformer的解码器
  • 补充医疗相关政策
  • 股东个人转让股权印花税能入账吗
  • 税款所属期止是怎么写
  • 房屋租赁费需要分摊吗
  • 经营范围广告业务能开什么发票
  • 生产成本中制造费用中包括哪些?
  • 使用SQL查询学生的姓名
  • 无形资产属于货物吗为什么
  • 企业一次性伤残就业补助金是由保险赔付吗
  • 员工社保报销流程
  • 工程一般挂靠取得的收入怎么做账?
  • 暂估销售收入账目
  • 企业个人工资薪金换了电脑怎么能导得出来
  • 年底结账会计要怎么做账
  • 劳务派遣证验资
  • 贴现收到票据时会计分录
  • 建账基本要求
  • mysql5.0安装
  • win7玩游戏卡吗
  • 系统配置运行命令
  • linux误删除数据
  • win10关闭metro界面
  • 如何解决win7系统转为xp系统出现蓝屏怎么办啊
  • linux ii
  • perl调试
  • bootstrap要学吗
  • Fragment里onActivityResult()无回调的问题
  • 应用框架的设计方法
  • python入门笔记
  • nodejs开发博客
  • nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
  • Python 正则表达式的高级用法
  • psi python
  • 购物金怎么退换面额的
  • 绿化养护的增值税是多少
  • 通用机油防伪查询
  • 光明区新区
  • 税务非正常户要提交什么资料
  • 增值税专用发票上传是什么意思
  • 2020年河南麦收时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设