时间:2015-07-10 来源:

Android批量图片加载经典系列——afinal框架实现图片的异步缓存加载【综合】

一、问题描述   在之前的系列文章中psd切图html,我们使用了Volley和Xutil框架实现图片的缓存加载,psd切图htmlnew File(“/mnt/sdcard/head.jpg”))或

  想要了解更多内容的小伙伴,div切图排版可以点击查看源码div页面,newsList); newsListView.setAdapter(adapter); } /** * 异步请求获得网络数据 */ private void requestData(){ String url="http://192.168.0.107:8080/21-sun/NewsListServlet"; FinalHttp fh=new FinalHttp(); AjaxParams params=new AjaxParams();//设置请求参数 params.put("category", params, String strMsg) {//请求失败调用 // TODO Auto-generated method stub Log.d("jereh",strMsg); } @Override public void onSuccess(String t) {//请求成功调用,psd切图html并接受返回结果 // TODO Auto-generated method stub Gson gson=new Gson(); List list=gson.fromJson(t,第二参数为图片网络地址<span style="white-space:pre"> </span>fb.display(view,url);//加载图片,div页面先从缓存中加载div+css+js切图, callBack);用法同Post方式   (3)下载文件

  (1)发送Post方式请求

fh.download(url, new AjaxCallBack<File>(){ @Override public void onLoading(long count, long current) { // TODO Auto-generated method stub tvProcess.setText("下载进度"+(current/count)); } @Override public void onSuccess(File f) {//请求成功调用,承接网页制作并接受返回结果 tvFileName.setText(f==null?"":f.getAbsoluteFile().toString()); } });   2、向服务端传递参数

public class SunNewsApplication extends Application { private FinalBitmap fb; @Override public void onCreate(){ fb=FinalBitmap.create(this); fb.configLoadingImage(R.drawable.default_big);// 设置图片正在加载的时候显示的图片 } public FinalBitmap getFinalBitmap(){ return fb; } } 2、编写适配器

  也可上传文件

AjaxParams params=new AjaxParams();//设置请求参数 params.put("category",params,params,并设置文件缓存的位置、内存缓存的百分比(如:系统内存的1/8) FinalBitmap fb=FinalBitmap.create(this, memoryCacheSizePercent); //进行配置psd切图html,InputStream);

  案例介绍——实现图片新闻浏览:

  疑问咨询或技术交流web外包,List<NewsItem> newsList){ this.mActivity=mActivity; this.newsList=newsList; imageLoader=((SunNewsApplication)mActivity.getApplication()).getFinalBitmap(); } private final int TYPE_COUNT=2; /** * 返回数据项的显示类型数据 * 0 1 2 */ @Override public int getItemViewType(int position) { // TODO Auto-generated method stub return newsList!=null?newsList.get(position).getStyle():-1; } /** * 返回类型个数 */ @Override public int getViewTypeCount() { // TODO Auto-generated method stub return TYPE_COUNT; } @Override public int getCount() { // TODO Auto-generated method stub Log.d("jereh","getItem()"); return newsList.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub Log.d("jereh", View convertView, null); holder.ivImg1=(ImageView)convertView.findViewById(R.id.ivNewsImg); break; case 1: convertView=LayoutInflater.from(mActivity).inflate(R.layout.news_item2, item.getImgUrl()[0]);//加载图片web外包,先从缓存中加载,web外包内存没有再从网络加载 switch(item.getStyle()){ case 1: imageLoader.display(holder.ivImg2, item.getImgUrl()[1]);//加载图片,div页面先从缓存中加载div+css+js切图, item.getImgUrl()[2]);//加载图片承接网站前端,先从缓存中加载,承接网站前端内存没有再从网络加载 break; } Log.d("jereh","getView()"); return convertView; } private class ViewHolder{ private TextView tvTilte; private ImageView ivImg1; private ImageView ivImg2; private ImageView ivImg3; } } 3、编写MaintActivity

configBitmapMaxHeight(int bitmapHeight) // 配置默认图片的最大的高度 configBitmapMaxWidth(int bitmapWidth) // 配置默认图片的最大的宽度 configDisplayer(Displayer displayer)//设置显示器,承接网页制作比如在显示的过程中显示动画等 //设置下载器web外包,比如通过ftp或者其他协议去网络读取图片的时候可以设置这项 configDownlader(Downloader downlader)   最后调用display()完成图片的加载:

作者:杰瑞教育 出处:http://blog.csdn.net/jerehedu/  本文版权归烟台杰瑞教育科技有限公司和CSDN共有,web外包欢迎转载网页切图制作,但未经作者同意必须保留此段声明,手机页面切图排版且在文章页面明显位置给出原文连接div+css+js切图,否则保留追究法律责任的权利.   版权声明:本文为博主原创文章,网页重构报价未经博主允许不得转载.

  Afinal 是一个android的http框架、sqlite orm 和 ioc 框架.使其更加简单易用承接网站前端,Afinal的宗旨是简洁,承接网站前端快速.约定配置的方式之后psd切图html,尽量一行代码完成所有事情,psd切图html代码入侵性小web外包, new AjaxCallBack<String>(){ @Override public void onFailure(Throwable t, strMsg); } @Override public void onLoading(long count, current); } @Override public void onStart() {//开始异步请求时调用 super.onStart(); } @Override public void onSuccess(String t) {//请求成功调用承接网站前端,并接受返回结果 });   (2)发送Get方式请求

  服务端

  3、FinalBitmap实现缓存并异步加载网络图片

  方法参数分别表示下载文件的url、文件保存目标、AjaxCallBack回调方法

  通过request.getParameter(“category”);获得文本参数

点击次数:8659
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日Tomcat启动时,自动访问本地servlet 【移动开发】2015年01月26日玩转Bootstrap(基础)(3.按钮) 【架构设计】2015年08月25日Lua学习笔记(1)--基本知识介绍2016年11月12日C语言标准IO_freadfwrite【编程语言】2014年12月10日cocos2dx3d开源项目fantasyWarrior3D从零走起【LoadingScene&MainMenuScene】 【系统运维】2014年12月03日753-APlugforUNIX(最大流或二分图匹配) 【编程语言】2015年08月24日前台js对象在后台转化java对象的问题探讨2014年01月29日HEVC【互联网】2015年02月11日(图文)在MyEclipse(2015)中上传项目到github的步骤(很详细) 【移动开发】2015年07月20日通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷【Web前端】2014年12月23日php更新数据库中断的解决方法2014年01月29日算法竞赛入门经典习题2-10排列(permutation)【编程语言】2014年11月04日【信息表示】地址对齐【移动开发】2015年04月13日C#解决动态创建库、动态创建表 【移动开发】2014年12月03日PHPis_dir()判断给定文件名是否是一个目录2014年01月29日如何在Windows8下创建Fedora21LiveUSB【系统运维】2014年11月14日基本配色——可靠2014年01月28日CSU1631:FacilityLocations 【云计算】2015年05月28日浏览器对WebSQL数据库的兼容表 ,,2016年06月23日android获取SD卡的状态2014年11月12日sublimeText3实用功能和常用快捷键收集 【综合】2014年12月09日可是后来我们都把对方弄丢了【编程语言】2014年12月16日有关SEO效果评估的七大指标你知道吗?【综合】2015年03月02日asp.net动态创建TextBox控件及状态数据如何加载2014年01月29日(4.2.17)圆形菜单CircularFloatingActionMenu【移动开发】2015年08月14日Dos图像复制成序列 【Web前端】2014年11月17日pythonimport和from.........import模块加载和作用域 【综合】2014年12月16日【考试维护】时隔半年的考试系统 【综合】2015年07月30日每天进步一点点————数据库对象优化【编程语言】2015年08月24日开源加快了软件产业前进的速度 【编程语言】2014年12月01日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)