《毕业设计(论文)--基于android的断点续传下载软件.docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)--基于android的断点续传下载软件.docx(35页珍藏版)》请在金锄头文库上搜索。
1、中北大学信息商务学院2013届毕业设计说明书毕业设计说明书断点续传下载软件学生姓名: 学号: 学 院: 系 名: 专 业: 指导教师: 2013 年 05月第II页 共页基于Android的断点续传下载软件摘要:现在人类已经迈进信息化时代,网络通信体现在各个领域,怎样充分利用网络带宽获得最快的下载速度,从而达到时空和效率的统一是信息化时代的必然趋势。现在人们之间的文件传输越来越频繁,数据在传送的过程中可能因为网络中断或断电而中断文件传输。为了应对这些突发事件,开发了支持断点续传的下载软件,从而避免了资源的浪费并且加快了下载速度。随着载有Android系统的移动终端设备的销量在世界范围内持续高涨
2、,基于Android平台开发移动终端应用软件正成为一种趋势。本文在Android手机终端利用 HttpClient 编程实现客户端/服务器模式的文件传输,开发了多文件同时传输以及支持断点续传的高效传输软件与方法。本课题具体的研究内容是实现在传输文件中途被中断,以继续下载的方法,继续下载时计算出已下载的数据量,并记录连续传输的断点位置用于从断点开始下载。当文件下载过程中出现断电或者网络被切断或者应用程序崩溃,并造成下载失败,基于移动终端再进行传输的过程,可以自动识别不完整的文件并继续下载。关键词:Android,移动终端,断点续传,下载,HttpClientThe transmission re
3、suming at break-points Software For AndroidAbstract: Human has entered the information age, the network communication is reflected in the various fields. The inevitable trend of the information age is how to make a full use of network bandwidth to get the fastest download speed, so as to reach the u
4、nity of time and space and efficiency. Now the file transfer between people become more and more frequently, however, the file transfer may be interrupted by some accident, such as network interrupter computer power failure. In order to respond to these emergencies, this article develop a download s
5、oftware with the functions of broken-point continuingly transfer, this download software can accelerate download speed, at the same time avoid the waste of resources. As an impact of the continuously increasing sale volume of mobile terminal devices using Android system, designing mobile terminal ap
6、plications based on Android platform has become a trend.In this paper, we take Httpclient-programming to accomplish Client/Server model File Transfer System and develop multiple files transferring simultaneously to support transmission resuming at break-points efficient software and methods,The inve
7、ntion claims a method for realizing transmission resuming at break-points of incremental data migration method similar to the method for transmitting file breakpoint continuous transmission realizing the surface of object and records the position of breakpoint continuous transfer.When the data migra
8、tion in the process of generating system dead halt of power cut off the network system or application program collapse and so on caused by migration failure re-carry out transferring process is based on the method of the moving tool can identify automatically the complete and does not finish the tra
9、nsfer service in the break point to start to continue moving.Keywords: Android, mobile terminal, breakpoint continuous transmission, download, HttpClient目录1 引言11.1 课题的研究背景与意义11.1.1 课题的研究背景11.1.2 断点续传技术22 需求分析42.1 用户需求分析42.2 业务流分析52.3 技术可行性分析52.4 本文研究的内容53 系统的开发技术及运行环境63.1 开发技术和工具63.1.1 Eclipse63.1.2
10、 Android SDK63.1.3 ADT73.1.4 Httpclient73.2 Java的语言特性73.3 HTTP协议83.4 运行环境94 系统设计104.1 系统设计要点104.2 系统设计的目标104.3 结构化设计104.3.1 系统功能模块划分设计114.3.2 系统流程图124.4 面向对象的设计124.4.1 程序类图134.5 Android软件技术144.5.1 布局模式144.5.2 ViewHolder 模式154.5.3 AsyncTask执行异步方法165 系统实现175.1 系统实现175.2 资源文件与界面布局175.3 包结构定义205.4 核心功能实
11、现205.4.1 断点请求数据205.4.2 文件随机读写235.4.3 流量计算245.4.4 配置文件存储256 结束语27参 考 文 献28致 谢291 引言在科学技术飞速发展的今天,计算机科学及手机互联网日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。几乎每个人都有使用过迅雷或者qq旋风从网络下载文件的经历,这些软件的使用可以大大加速互联网上文件的传输速度,减少文件传输的时间,如果之前没下载完成、或者因为网络原因中断的下载的文件可以继续下载,将大大提高用户使用软件的满意度。而现在很多软件的网上自动升级,包括微软的自动更新,也都可以从上次没下
12、载完的地方接着再下载。这些软件都采用了断点续传技术,这为人们节省了不少时间和资源。随着3G时代的来临,手机凭借着其携带方便、即时通信的特点成为人们当今生活中不可或缺的一个部分,而手机所具有的网络特点:无线通讯容易收干扰,移动过程中基站的变换、2G/3G和wifi网络的切换使得网络的连续性、稳定性变得相对较差。于是在下载过程中,断点续传成为了必不可少的功能。1.1 课题的研究背景与意义1.1.1 课题的研究背景以往我们开发的程序大多是单线程的,即一个程序只有一条从头至尾的执行线索。然而现实世界中的很多过程都可以从中断处继续接着运行,类似人们的生活,如果手头正在做的事情被打断,在做完别的事情之后可
13、以回头接着做刚才没有完成的事情,如此才符合正常生活情景。Android,中文称安卓,是一个以Linux为基础的半开放原始码作业系统,主要用于移动设备,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中。Android系统最初由安迪.鲁宾(Andy Rubin)开发制作,并于2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立OHA来共同研发改良Android系统。随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。让生产商推出搭载Android的
14、智能手机,Android作业系统后来更逐渐拓展到平板电脑及其他领域上1。第一部Android智能手机发布于2008年10月。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。目前,全球手机用户数已超过了PC机用户数,其中智能手机的比例越来越高。智能手机是指像电脑一样可以通过下载、安装软件来拓展基本功能的手机,一般具有智能手机操作系统。相较于非智能手机,它功能更强,处理速度更快。基于Linux的Android手机操作系统,由于具有开源、免费的特性,迅速得到广
15、大爱好者及厂商的支持。目前,移动应用软件中的手机游戏开发是一项非常热门的技术。Android系统对第三方软件是开放的,这促进了第三方软件的发展。Android系统以Linux 2.6为核心,其安全机制比较完善,增强了手机使用的安全性。Android平台已经形成由 Google牵头,OHA组织参与,系统支持商和服务供应商完善搭配的运作机制,为Android平台的快速发展提供了坚实的基础2。Android手机终端开发的一大好处就是继承扩充了Java语言,其中一大特性就是内置对多线程的支持。多线程是指同时存在几个执行体,按几条不同的执行线索共同工作的情况,它使得编程人员可以很方便地开发出具有多线程功能、能同时处理多个任务的功能强大的应用程序。虽然执行线程给人一种几个事件同时发生的感觉,但这只是一种错觉,因为我们的计算机在任何给定的时刻只能执行那些线程中的一个。为了建立这些线程正在同步执行的感觉。Java快速地把控制从一个线程切换到另一个线程。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物