1、本科毕业论文(20 届)基于 Android 的 FTP 文件传输所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 I基于 Android 的 FTP 文件传输【摘要】 本课题先讨论了当前手机管理类应用程序的背景、现状和发展趋势,并分析了手机管理类应用程序现有的功能。本课题根据用户的需求,基于Android 技术,利用 ftp 远程共享原理来实现无线手机助手的设计。本课题研究的无线手机助手采用的是基于 C/S 架构的 MVC 系统,基于 ftp 远程文件共享的Android 技术,和 Eclipse 应用开发工具,利用网络代理作为中转服务器,利用Andro
2、id 2.2 作为系统平台进行开发,对无线手机助手业务进行分析、设计,实现了登陆验证、浏览文件、文件上传、下载、删除等功能,以期达到快捷管理手机文件的目的。 【关键词】 手机管理,手机助手,文件管理,Android,Ftp浙江大学城市学院毕业论文 AbstractIIWireless Mobile Assistant Based On Android【Abstract】 This subject discussed the background, status and trends of phone management applications on the first.And analyz
3、es the existing functionality of the phone management applications.This subject based on the needs of users and based on Android technology to use the the ftp remote shared principle to achieve the design of wireless handsets assistant.Wireless mobile assistant for the research is based on C/S struc
4、ture of the MVC system, ftp remote file sharing, based on Android technology and the Eclipse application development tools, using the network proxy as a relay server, using Android 2.2 as a system platform developed.Through analysising and designing the wireless mobile assistant,this subject achieve
5、s login authentication, browse files, file upload, download, delete and other functions in order to achieve the purpose of the comfortably manage phone files.【Key Words】 Mobile Management,Mobile Assistant,File Management, Android,Ftp浙江大学城市学院毕业论文 目录III目录第 1 章 绪论 .21.1 应用的开发背景 11.2 本课题研究内容 1第 2 章 相关理论
6、及关键技术 .22.1 Android 特性简介 22.2 Android 系统架构 32.2.1 关键应用程序 .32.2.2 应用程序框架 .32.2.3 C/C+函数库 .42.2.4 Java 程序运行环境 .42.2.5 Linux 内核 .42.3 Android 应用程序框架 42.3.1 Activity.52.3.2 Intent Receiver .52.3.3 Service.52.3.4 Content Provider .5第 3 章 需求分析 .63.1 概述 63.2 功能需求 63.2.1 设置界面 .63.2.2 控制界面 .73.2.3 说明界面 .73.3
7、 性能需求 73.3.1 手机系统要求 .73.3.2 灵活性 .73.3.3 时间特性的要求 .83.3.4 软件特性要求 .8第 4 章 总体设计 .94.1 系统总体结构 94.2 服务器系统解决方案 9第 5 章 详细设计 .115.1 代理协议拟定 11浙江大学城市学院毕业论文 目录IV5.1.1 DATA SOCKETS.115.1.2 DISAMBIGUATING DEVICES AND SESSIONS.115.1.3 AUTHENTICATION .125.1.4 API .125.2 关键代码实现 155.2.1 代理连接 .155.2.2 会话线程 .175.2.3 TC
8、P 连接监听 .18第 6 章 系统实现 .206.1 Server 端模块的设计 206.2 Android 设备端模块的设计 21第 7 章 系统测试 .247.1 Android 手机系统测试之打断事件 247.2 测试中发现的问题及修复 257.3 测试结果 257.3.1 开启服务 .257.3.2 客户端访问 ftp 地址 .257.3.3 登陆验证 .26结论 .27参考文献 .28附录 .29附录 A 文件传输协议简介 .29附录 B 应用程序界面代码 .30致谢 .41浙江大学城市学院毕业论文 图目录V图目录图 2.2 Android 的架构图 .3图 3.2 设置界面用例图
9、 .7图 4.1 系统总体结构图 .9图 4.2 服务器系统原理图 .10图 5.2 程序运行效果图 .19图 7.3.1 开启服务 logcat 图 .25图 7.3.2 客户端访问 ftp 地址 logcat 图 .25图 7.3.3 登陆验证 logcat 图 .26浙江大学城市学院毕业论文 第 1 章 绪论1第 1 章 绪论1.1 应用的开发背景2007 年 11 月由 Google 牵头有 30 多家移动技术和无线应用领域领先企业组成的开发手机联盟(Open Handset Alliance)发布了其智能手机平台Android。Android 是一个真正意义上的开放性移动设备综合平台
10、,包括操作系统、用户界面、中间件和应用程序,拥有移动电话工作所需的全部软件,同时其开放性保证该平台不存在任何阻碍移动产业创新的专有权障碍1。随着 Android 的迅猛发展,国内各种优秀应用也相继诞生,豌豆荚系列产品是国内最早的手机管理类应用。豌豆荚是一款基于 Android 手机管理软件,具有备份恢复重要资料、通讯录资料管理、应用程序管理,音乐下载、视频下载与管理等功能。在文件管理方面,最近上市的一款应用软件文件大师。是一款功能强大的文件管理软件。文件大师支持对文件的全部常用操作,如拷贝,删除,粘贴等。采用了特别优化过的文件/目录复制算法,使得其在大量文件复制的时候比其他文件管理类工具速度更
11、快。1.2 本课题研究内容在本课题中,主要研究在手机上建设 FTP 服务器,实现任意客户端可以登录FTP 服务器上传下载文件。支持浏览器可视化浏览手机资源列表下载手机资源文件。通过计算机资源管理器或我的电脑管理手机:添加、删除、编辑等操作,全方位管理手机文件,实现无需数据线即可管理手机的功能。浙江大学城市学院毕业论文 第 2 章 相关理论及关键技术2第 2 章 相关理论及关键技术2.1 Android 特性简介Dalvik 虚拟机:Android 采用的 Java 虚拟机是自主开发的代号为 Dalvik 的虚拟机技术,在保证 API 方面兼容的同时 Dalvik 针对移动手机进行了大幅优化,占
12、用资源更小,运行效率更高2。内嵌浏览器:基于开源的浏览器网页排版引擎 WebKit。优化的图形:强大的自定义二维图形库。基于 OpenGL ES 1.0 标准的 3D 图形功能,在移动 3D 开发中有着至关重要的地位。SQLite 数据库:SQLitet 提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音视频和静态图像格式,如 MP3、JPG、PNG等。Open Core 是 Android 多媒体框架的核心,所有 Android 平台的音视频采集,播放的操作都是
13、通过它来实现的。通过 Open Core,程序员可以方便快速的开发出想要的多媒体应用程序。GSM 技术:( 依赖硬件)Global System for Mobile Communications,全球移动通讯系统,俗称“ 全球通”,是第二代移动通信技术,其开发 El 的是让伞球各地可以共同使用一个移动电话网络标准,让用户使_一部手机就能行遍全球。蓝牙,EDGE ,3G,and WiFi 是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(EnhaIlced Data Rate for GSM Evolution),是增强型数据速率 GSM 演进技术3。Camera,
14、GPS ,compass , and accelerometer:(依赖硬件)GPS(Global Positioning System)全球定位系统。它是一个由覆盖全球的 24 颗 1J 星组成的卫星系统。Compass 是个开放源代码的 JAVA 搜索引擎框架4。强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及 EclipseIDE 的开发插件。Eclipse浙江大学城市学院毕业论文 第 2 章 相关理论及关键技术3是个集成开发环境。2.2 Android 系统架构Android 的架构是 Linux 内核、C/C+函数库、Dalvik 虚拟机、应用框架以及关键应用程序构
15、成的,通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在 Dalvik VM 上运行的。Android 的架构图如下图 2.2 所示:图 2.2 Android 的架构图52.2.1 关键应用程序Android 平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历和网页浏览器等,开发者可以在其平台上开发更多有特色的应用程序。开发语言是 Java。2.2.2 应用程序框架Android 应用程序的开发基于框架和组件。Android 本身已在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。浙江大学
16、城市学院毕业论文 第 2 章 相关理论及关键技术42.2.3 C/C+函数库Android 应用程序框架之下是一套 C/C+函数库,它们服务于 Android 应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括:标准 C 函数库、媒体功能库、浏览器引擎、2D 和 3D 图形库、基于 WEB 应用的的安全协议SSL、用于点阵和矢量字体渲染的 FreeType 以及 SQLite 引擎等6 。2.2.4 Java 程序运行环境Android 的 Java 程序运行环境包含一组 Java 核心函数库及 Dalvik 虚拟机,它们有效地优化了 Java 程序的运行过程。所有的 Android
17、 应用都运行在它自己的进程里,该进程是一个 Dalvik 虚拟机的实例,Dalvik 被设计成能在一台设备上高效的运行多个虚拟机实例。Dalvik 虚拟机的可执行文件被封装成 Dalvik 可执行格式(.dex)。这是被优化过的最小内存依赖的格式7。Java 编译器(dx 工具)将注册了的和运行时用到的类编译成.dex 格式。Dalvik 虚拟机依赖于底层 Linux 内核提供的功能,如线程机制,和内存管理机制等。2.2.5 Linux 内核Android 系统平台是基于优化了的 Linux 内核,是其系统平台的核心8。它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上层软件。2.3 Android 应用程序框架对于一个 Android 应用程序来说,是由 Activity、 Intent Receiver 、Service、Content Provider 四部分组成,但并不是每一个 Android 应用程序都必须由这四部分组成9。在应用程序中使用时,需要在配置文件AndroidMainfest.xml 中进行配置。这个配置文件是每个 Android 应用程序所必需的,用于定义应用程序的组件、组件的功能以及必要条件等10。