上一节课我们简单的实现了视频下载的功效具体的请同学查看上一节课的内容,然而上一节课做的小小demo
并没有体现出断点续传的功效,现在我们来实验一下断点后是否可以续传
断点:可以是网络断开也可以是手工暂停,我们下载视频的时候应该很常见暂时断网或者是暂停下载,如果这个时候再次下载视频需要从头开始,那无疑是一件非常蛋疼的事情。这种情况下就好像是下一个超清史诗大片2G的,在下到百分之九十九的时候下载失败需要从头下载的心情,所以学会使用和理解断点续传是一件非常有意义的事情。
===================================================================================
【界面】:添加一个按键来控制:1.开始下载 2.暂停下载
具体界面应该是这个样子的:
这里在点击开始下载之后会显示暂停按键,还会变色,至于怎么样让按钮点击后变色,是一个颜色选择器的功效,网上教程非常多,这个不是重点,好我们继续。
【关键代码】:
其实添加的代码非常简单,断点续传需要用到一个HandlerHttp,HandlerHttp具体是什么也不是很清楚,待查到官方文档再来补充,或者广大读者知道的可以在下面回复。
public void start(View v){ //初始化FinalHttp FinalHttp fh=new FinalHttp(); //文件保存路径 File f = new File("/storage/emulated/0/imageloader/video"); //文件路径不存在则新建 if (!f.exists()) { f.mkdir(); } if (i % 2 == 0){ bt.setText("暂停"); //设置下载地址,缓存地址,设置支持断点续传,随时停止下载任务 或者 开始任务,Ajax异步加载,开始下载 handler=fh.download("http://f01.v1.cn/group1/M00/13/9F/CgoBNlJINEyACQ0uAGGgCQ1tRfA557.flv", "/storage/emulated/0/imageloader/video/岳麓书院4.flv", true,new AjaxCallBack<File>(){ //下载过程中,count是文件大小,current是下载了多少,做一个百分比显示 public void onLoading(long count, long current) { vp.setText("下载进度:"+current+"/"+count); } //下载完成后输出下载地 public void onSuccess(File t) { vp.setText("下载完成"); Toast.makeText(getApplicationContext(), "下载到:"+t==null?"null":t.getAbsoluteFile().toString(), Toast.LENGTH_LONG).show(); } }); } else{ bt.setText("开始下载"); handler.stop(); } i++; }
使用一个i++来控制调用暂停还是开始下载方法。
实现效果为:点击暂停后,停止下载视频,点击开始下载,接着当前进度再次下载直到完成视频下载。
&&
&&
情况2:在下载过程中,网络断开,再次连上网络后,依然可以按照当前进度进行下载,断点传送诠释完美
相关推荐
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载...
Afinal断点续传,测试url涉及公司,打包的时候清空了
内含afinal框架的基本使用方法:Sqlite数据库的使用,网络请求,文件下载(支持断点续传),根据url获取图片
Afianl源码及jar包,包括Afianl源代码及最新jar包
利用afinal框架实现同时下载多个文件,并用进度条显示下载进度,比较粗糙,但最重要的功能已经实现
andriod afinal框架demo非常有用的工具类
安卓的两个强大的实用框架,afinal 和 Volley,为了赚点积分下载别的资源,所以要了1分资源分,请见谅
利用afinal框架,实现同时下载多个文件,并已进度条显示下载进度
afinal框架实现图片的简单异步缓存加载.rar
Afinal框架DB部分Demo,简单的实现了添删改查操作
Android afinal框架资料和jar包
afinal框架下载
afinal demo 框架 实现 demo 需要的下载 学习
一个利用afinal框架实现断点下载
基于afinal框架的记事本项目
利用afinal框架实现listview动态加载图片,并且添加下拉刷新,上拉更多功能,afinal框架确实不错,很好用
Afinal开源库,主要有四大模块:1.FinalDB,2.FinalActivity,3.FinalHttp,4.FinalBitbitmap
FinalHttp:用于请求http数据,直接ajax方式请求,文件上传, 断点续传下载文件等 FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题。 FinalActivity:完全可以通过注解方式绑定控件和事件,无需...
这是AFinal框架使用的一个小例子,里面有网络图片加载和文件下载的用法,具体请参加我的博客:http://blog.csdn.net/programchangesworld