西南科技大学本科生毕业论文 I
基于Andro i d的WiF i文件传输系统的设
计与实现
摘要随着智能手机的普及越来多的人会使用手机来分享文件。虽然目前应用市场上有很多文件分享的软件但其传输的方式都存在一定的缺陷。本系统就是根据目前Andro id应用市场上各种文件传输软件的优缺点使用W iF i直连和SOCKET通信来传输文件解决了蓝牙传输速度慢NFC传输数据小 网络传输需要流量或网络连接WiFi热点传输时不能使用WiFi上网等问题。本系统包含了文件的搜索管理删除文件/消息传输等功能。最多支持9个文件同时发送在连接设备后可以浏览对方设备的文件目录。
本文首先介绍了选题背景和现状然后详细阐述了系统中使用的关键技术的发展和相关知识。通过对系统的运行测试得出可以发现系统运行流畅多文件传输稳定传输速度也很快满足用户需求具有一定的商业价值及较强的使用推广价值。
关键词WiFi直连 SOCKET通信文件搜索
西南科技大学本科生毕业论文 II
Design and Implementation of WiFi-Direct File
Transfer System on Android Platform
AbstractWith the popularity of smart phones,more and more people will use mobile phones to share files,although there are a lot of documents on the market share of the software,but the way they are transferred to determine the existence of a certain.This system is designed to the advantages and disadvantages of the Android Market on a variety of file transfer software, using WiFi-Direct connection and socket communication to achieve the file transmission to solve the Bluetooth transmission speed is slow, small NFC data transmission, the transmission network to network traffic or connection,WiFi hotspots transmission cannot use WiFi Internet access and other issues. This application contains the file search,management, delete, file /message transfer and other functions. Supports up to 9 files at the same time, in connection with the device,you can browse the file directory of the other equipment.
This paper firstly introduces the background and current situation of the selected topic,and then describes the development of key technologies and related knowledge in detail. Through the operation test of the system obtained can be found: the operation of the system is very stable smooth,multi document transmission is relatively stable, transmission speed is faster,basically meet the needs of users,has a commercial value and good popularization and use value.
KeyWo rds:Wifi-Direct, socket communication,high-spe ed transmission
西南科技大学本科生毕业论文 III
目 录
第1章绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.1引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.2选题的目的及意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.3国内外相关研究. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
第2章系统需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.1应用需求概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.2用户类与特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.3系统功能性需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2.4系统非功能性需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
第3章系统概要设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.1应用模块划分及模块功能介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.2应用的数据存储. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
3.3数据库设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.3.1 Andro id数据库介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.3.2本系统数据库设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
3.4 Andro id开发相关技术介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3.4.1 Andro id的发展历史. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3.4.2 Andro id系统结构介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
3.4.3 Andro id四大组件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
第4章系统详细设计及实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
4.1开发工具和软件平台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
4.2传输记录模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
4.2.1查看传输记录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
4.3数据库操作模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
4.4文件管理模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
4.4.1选择要发送的文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
4.4.2移除要发送的文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
4.4.3查看文件属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.4.4打开音乐视频等文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
西南科技大学本科生毕业论文 IV
4.4.5遍历手机文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
4.5设备连接管理模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.5.1连接其他设备. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
4.5.2重命名本机设备. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.6文件/数据传输模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
4.6.1设置同时发送文件最大个数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
4.6.2发送文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.6.3文件/数据传输性能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.7应用UI设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
4.7.1应用界面框架结构设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
4.7.2主界面的设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
4.7.3UI控件的使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
第5章系统测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
5.1测试环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
5.2模块功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
5.2.1设置同时传输文件最大个数功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
5.2.2重命名本机设备功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
5.2.3选择要发送的文件功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
5.2.4移除要发送的文件功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
5.2.5发送文件功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43
5.2.6查看传输记录功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
5.2.7打开本机音乐视频等文件功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
5.2.8查看文件属性功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
5.2.9连接设备功能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
5.3非功能性测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
5.3.1连文件传输性能测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
5.3.2系统兼容性测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
西南科技大学本科生毕业论文
第1章绪论
1.1引言
随着近几年移动行业的飞速发展手机已进入智能时代。现在的手机智能平台主要包括Andro id IO SWin10移动版而用户最多的还是Andorid和IO S 平台所以熟悉这些智能平台的应用开发是必须的。在日常生活中朋友之间经常会分享手机中的一些新鲜的好玩的有趣的事情但是目前的手机端分享方式都存在一些弊端。如常见的网络分享这必须要求用户双方都连接互联网条件比较苛刻。而蓝牙分享虽然不需要联网但是传输速度比较慢。针对传输速度慢的问题想到了WiF i热点传输 的确这个传输速度明显快于蓝牙但是利用WiF i热点传输时又有一个问题来了如果要在这时用WiF i上网呢这就办不到了。针对各种分享方式的弊端需要找到一种新的分享来解决这些问题。而新的Wifi直连技术则能很好地解决上面的那些弊端具有不需联网传输速度快传输文件的时候还能WiF i上网的优点。如今的Andro id手机中进入WiF i高级设置里面就可以看到有WiF iD irect WiF i直连这个东西但是官方并没有开发对应的app来传输文件而系统已经对WiF i直连这个技术进行了支持并封装了相应的api给开发者使用。
1.2选题的目的及意义
根据目前Andro id手机平台的各种分享方式的弊端找到一种新的分享文件的方式从而解决NFC传输的数据小蓝牙分享速度慢网络分享需联网WiFi 热点分享时不能用WiF i上网的问题。本应用就是利用WiF i直连技术来解决目前的一些文件分享方式存在的弊端从而让Andro id智能手机用户能够更高效方便的分享文件。实现在高速分享文件的同时利用WiF i高速上网。
1.3国内外相关研究
2010年10月Wi-Fi Alliance wi-fi联盟发布Wi-Fi Direct白皮书 白皮书中介绍了有关于这种技术的基本信息、这种技术的特点和这种技术的功能Wi-Fi D ire ct标准是指允许无线网络中的设备无需通过无线路由器即可相互连接。与蓝牙技术类似这种标准允许无线设备以点对点形式互连而且在传输速度与传输距离方面则比蓝牙有大幅提升[1] 。
按照定义Wi-F i C ERTIFIEDWi-F i Direct设备是支持对等连接的设备这种
1
西南科技大学本科生毕业论文
设备既支持基础设施网络也支持P2P连接。Wi-F i Direct设备能够作为典型的站点STA加入基础设施网络而且必须支持Wi-F i Protected Setup加入者功能。
Wi-Fi Direct设备通过组建小组以一对一或一对多的拓扑形式来建立连接小组的工作形式与基础设施BSS类似。由一部Wi-Fi Direct设备负责整个小组包括控制哪部设备加入、小组何时启动和终止等。这种设备对于传统客户设备而言就是一部接入点能够提供基础设施接入点所提供的部分服务[2] 。
最初Wi-Fi Alliance®联盟的这一新标准原名为“Wi-Fi peer-to-peer” 而最终定名为W iF iD ire ct面向各种W i-F i设备从电脑到手机、到电脑外设到家电等等。符合该标准的设备无需热点和路由器就可以方便的和其他设备实现直接连接传输数据或共享应用。Wi-Fi Direct可以支持一对一直连也可以实现多台设备同时连接并且Wi-Fi Direct标准将会支持所有的Wi-Fi设备从11a/b/g 至11n不同标准的Wi-Fi设备之间也可以直接互联。
由于WiF iD irect支持设备间的直接连接所以又称为WiF iP2p。 P2P架构中定义了三个组件 笔者将其称为“一个设备 两种角色” 分别如下。
· P2P Device 它是P2P架构中角色的实体 可把它当做一个WiFi设备。
· P2P Group Owner Group Owner GO 是一种角色 其作用类似于
Infrastructure BS S中的AP。
· P2P Client 另外一种角色 其作用类似于Infrastructure BSS中的STA。
实际上 P2P技术模仿了Infrastructure BS S网络结构。在组建P2P Group即P2P Network 之前 智能终端都是一个一个的P2P Device。 当这些P2P Device 设备之间完成P2P协商后 其中将有一个并且只能有一个Device来扮演GO的角色即充当AP 而其他Device来扮演C lient的角色。
P2P设备之间想要互相发现对方则需要P2P Discovery的支持.
P2P Discovery的作用很简单就是使多个P2P Device能够互相发现并构建一个Gro up。 根据规范 它包括四个主要技术子项。
· Device Discovery 用于P2P设备搜索周围其他支持P2P的设备。
· Service Discovery 该Device Discovery基础上 P2P还支持搜索指定的服务。 这部分功能属于可选项 笔者觉得它和2.2.5节中提到的Bonjo ur类似。
· Group Formation 用于决定两个P2P Device谁来扮演GO 谁来扮演Client。
· P2P Invitation 用于激活一个Pers istent Group或者用于邀请一个C lient
2
西南科技大学本科生毕业论文
加入一个当前已存在的Gro up。
3
西南科技大学本科生毕业论文
第2章系统需求分析
2.1应用需求概述
根据本应用的目标可以列出这些需求
1)能够选择要发送的文件也能移除不想发的文件
2)能够发送文件核心需求要能成功发送/接受文件
3)简单的文件管理浏览删除文件等
4)重命名本机设备基本需求方面手机在传文件时能够分辨设备
5)查看文件传输记录核心需求记录接受/发送了哪些文件
6)查看正在传输的文件状态核心需求
系统功能结构如图2-1所示。
图2-1应用功能结构图
2.2用户类与特征
APP用户此类用户主要是使用应用来分享文件并且实时查看传输记录也可以查看传输的历史记录。 同时亦可以使用应用来对本机设备进行简单的管理如重命名本机设备查看本机设备上的一些文件属性等等还是可以预览该文件。
2.3系统功能性需求分析
根据对市场上其它分享应用的调查和分析可以列出应用程序的功能用例
4
西南科技大学本科生毕业论文
系统用例图如图2-2所示
图2-2系统用例图
2.4系统非功能性需求
开作为一款实用的分享程序除了基本的功能之外应用还应该满足一些非
5
VPSMS最近在做两周年活动,加上双十一也不久了,商家针对美国洛杉矶CN2 GIA线路VPS主机提供月付6.8折,季付6.2折优惠码,同时活动期间充值800元送150元。这是一家由港人和国人合资开办的VPS主机商,提供基于KVM架构的VPS主机,美国洛杉矶安畅的机器,线路方面电信联通CN2 GIA,移动直连,国内访问速度不错。下面分享几款VPS主机配置信息。CPU:1core内存:512MB硬盘:...
香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...
易探云香港vps主机价格多少钱?香港vps主机租用费用大体上是由配置决定的,我们选择香港vps主机租用最大的优势是免备案vps。但是,每家服务商的机房、配置、定价也不同。我们以最基础配置为标准,综合比对各大香港vps主机供应商的价格,即可选到高性能、价格适中的香港vps主机。通常1核CPU、1G内存、2Mbps独享带宽,价格在30元-120元/月。不过,易探云香港vps主机推出四个机房的优惠活动,...