上一节课我们简单的实现了视频下载的功效具体的请同学查看上一节课的内容,然而上一节课做的小小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提供了一种高效且实用的解决方案,尤其在处理大文件传输时非常有优势。断点续传技术允许用户在上传或下载文件过程中,如果因网络问题或其他原因中断,可以从上次中断的位置继续,而不...
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载...
文件下载是Afinal的一个重要特性,尤其值得一提的是它的断点续传功能。断点续传允许在下载过程中暂停并重新启动,而不会丢失已经下载的部分。这在大文件下载或者网络不稳定的情况下非常有用。Afinal通过保存下载...
这个“afinal demo afinal框架demo”是为开发者提供了一个学习和实践Afinal框架的示例项目,帮助大家快速理解和应用Afinal到实际的Android开发中。下面将详细讲解Afinal框架及其在Android开发中的应用。 Afinal的...
在IT行业中,源码是理解软件工作原理的关键,而jar包则是Java应用程序的可执行文件形式。 首先,Afianl是一个可能基于Java开发的开源框架或库,它为开发者提供了特定的功能或者服务。源码通常包含类、方法、变量等...
注意:在实际应用中,还需要考虑错误处理、网络状态检测、断点续传、下载队列管理等复杂情况,以提高用户体验和下载效率。Afinal框架虽然简洁易用,但在处理大量并发任务时可能稍显力不从心,对于大型项目,更推荐...
2. **FinalHttp**:这是一个网络请求库,类似Volley,但Afinal的网络请求部分相对简单,适合小型项目或快速开发。 3. **FinalBitmap**:用于图片的加载和缓存,帮助开发者优化图片资源的使用,避免内存问题。 4. **...
在`afinal_0.5.1_bin.jar`文件中,包含了Afinal框架的全部类和方法,它是集成到Android项目中的核心依赖。开发者需要将其添加到项目的libs目录下,并在项目的构建配置中引用这个jar包,以便在代码中使用Afinal的功能...
Android Afinal框架是一款轻量级的数据库操作库,专为Android平台设计,简化了Android中的SQLite数据库操作。Afinal提供了一种简洁的API接口,使得开发者可以更方便、高效地进行数据存储和查询。这个“andriod ...
**Afinal框架详解** Afinal是一款轻量级的Android ORM(对象关系映射)框架,由知秋二叉枫(FinalTeam)开发。这个框架旨在简化Android应用中的数据库操作,让开发者可以更专注于业务逻辑,而不是繁琐的数据访问层...
Afinal,作为一个广受欢迎的开源框架,主要由四个核心模块构成:FinalDB、FinalActivity、FinalHttp以及FinalBitmap。这些模块分别针对Android开发中的数据库操作、Activity管理、网络请求和图片处理,为开发者提供...
在具体实现上,Afinal提供了一些关键类和方法,例如`ImageLoader`用于图片加载,`CacheUtil`负责缓存管理,`FileUtil`提供文件操作等。开发者可以通过`ImageLoader.displayImage()`方法指定图片的URL和目标ImageView...
afinal框架下载
`afinal`是一个轻量级的Android开发框架,它提供了便捷的网络请求和文件操作功能,使得实现这个需求变得相对简单。本篇文章将详细讲解如何利用`afinal`框架实现同时下载多个文件,并展示下载进度。 首先,`afinal`...
**Afinal框架DB部分Demo详解** Afinal是一个轻量级的Java ORM(对象关系映射)框架,它基于Spring JDBC,旨在简化数据库操作,提供一套简单易用的API,使得开发者能够更专注于业务逻辑,而不是繁琐的SQL和JDBC代码...
【Android Afinal 框架在记事本项目中的应用】 在移动开发领域,尤其是在Android平台上,数据库操作是常见的需求之一。Afinal是一款轻量级的Android ORM(对象关系映射)框架,它使得开发者可以更方便、高效地进行...
在移动应用开发中,尤其是在Android平台上,afinal框架提供了一种方便的方式来实现断点下载功能。 **afinal框架** afinal是Android平台上的一个轻量级的ORM(对象关系映射)框架,由iFinal团队开发。它简化了...
FinalHttp:用于请求http数据,直接ajax方式请求,文件上传, 断点续传下载文件等 FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题。 FinalActivity:完全可以通过注解方式绑定控件和事件,无需...
同时,它还支持文件的上传和下载,可以方便地处理大文件的分块上传和断点续传。 ### 五、集成与优化 `afinal`框架易于集成到Android项目中,只需要简单的几步配置即可开始使用。此外,`afinal`持续优化,兼容多种...
3. 文件上传下载:Afinal提供了`FileDownLoader`和`FileUploader`类,支持断点续传,方便进行大文件的上传和下载。 4. 数据解析:Afinal默认支持JSON格式的数据解析,也可自定义解析器,满足不同需求。 四、实战...