通信工程毕业设计Android系统中基于wifi的互动联机游戏.docx
《通信工程毕业设计Android系统中基于wifi的互动联机游戏.docx》由会员分享,可在线阅读,更多相关《通信工程毕业设计Android系统中基于wifi的互动联机游戏.docx(24页珍藏版)》请在冰豆网上搜索。
通信工程毕业设计Android系统中基于wifi的互动联机游戏
南京邮电大学
毕业设计(论文)
题目
Android系统中基于wifi的互动联机游戏——实现接口与规划
专业
国际学院通信工程
学生姓名
周玮涵
班级学号
M070003
M07000308
指导教师
杜月柃
指导单位
通信与信息工程学院
日期:
2011年3月1日至2011年5月24日
摘要
本课题由小组4名成员共同开发完成。
实现基于Android系统Wi-fi技术基础下,应用程序“国际象棋”的开发。
本文简要介绍了基于Android系统的国际象棋应用程序中对接接口的开发。
通过对Android系统的学习了解,和对Wi-fi技术的研究探讨,确立了建立移动终端AP互联的课题的研究方向,以及使用Ad-hoc的应用方式。
在此基础上详细介绍了Android系统模拟仿真开发工具的使用。
之后在开发工具Eclipse上实现了代码的开发,以及应用程序的模拟仿真。
最终共同开发出亲和的可视化图形界面。
关键字:
Android;Wi-fi;接口技术;模拟仿真
ABSTRACT
目录
第一章引言1
1.1课题产生背景1
1.2论文主要工作和章节安排1
第二章Android系统概述2
2.1Android系统简介2
2.2Android系统架构3
2.2.1系统描述3
2.2.2Android内核4
2.2.3Lib和运行环境5
2.2.4Android系统应用5
2.3Android系统历史6
第三章Wi-fi协议简介6
3.1Wi-fi协议概述6
3.2Wi-Fi突出优势8
3.3Wi-Fi工作原理及网络结构8
3.4Ad-hoc应用模式10
第四章模拟仿真环境搭建11
4.1Eclipse开发环境建立流程11
4.1.1JDK环境搭建11
4.1.2Eclipse环境搭建12
4.2可视化平台搭建14
第五章仿真设计与实现17
5.1。
。
。
17
5.1.1。
。
。
17
5.2。
。
。
17
结束语18
致谢19
参考文献20
附录21
第一章引言
1.1课题产生背景
随着移动通信技术和个人通信技术的发展,人们对移动数据通讯的需求日益增加,各种移动通讯终端如智能手机、掌上型电脑、移动笔记本的增长率远远超过PC机的增长率。
同时,各种移动电话也已经普遍具有网络功能,新技术和新需求的发展迫切要求Internet对移动性的支持。
未来的3G及4G时代,在一个统一的IP通信网络平台传输语音、数据、视频、图像、消息等为大势所趋。
而移动终端所能提供的“Informationanytime,anywhere;Internetinyourpocket”将使互联网的作用发挥到极点。
Wi-fi——wirelessfidelity,无线保真技术,是一种帮助用户访问电子邮件、Web和流式媒体的互联网技术。
它为用户提供了无线的宽带互联网访问,非常适合移动终端用户的使用。
由于Wi-fi技术具有无需布线、健康安覆盖范围广、传输速度快、技术门槛低等特点,使得其发展非常迅速,现今的移动终端中,这种技术几乎已经普及。
移动终端用户不但对网络的需求越发普遍,也对移动终端各式各样的应用提出了更高的需求。
Google公司推出的Android系统很好的满足了这一需求。
Google公司在2007年推出的Android系统,目前已经风靡全球。
Android是运行于Linuxkernel之上,但并不是GNU/Linux。
由于Android系统良好的开放性,使建立在Android系统上的应用软件也层出不穷,其中由于强大的Wi-fi无线互联技术,使得手机的增值服务更加出色。
本课题要求对Android系统有较为深刻的理解和认识,在此基础上,对Android系统中的WIFI功能进行改善,使其实现Ad-hoc应用功能,再此基础上,在两部手机上实现国际象棋应用游戏的对战功能。
此课题和现实生活连接紧密,日常应用频繁,具有很强的实践性和市场意义。
本人主要负责Android系统中实现Ad-hoc功能的任务。
1.2论文主要工作和章节安排
本课题要求对Android系统有较为深刻的理解,以及对Android系统架构有所认识。
要求理解Wi-fi技术的基本原理和架构,理解Ad-hoc应用功能。
在此基础上,针对两部移动终端的互联,为应用程序创立两种接口:
一为图形化界面和算法创立接口,一为两部移动终端进行同步创立接口。
本论文主要分为以下几个部分:
在第一部分中,首先深入而细致的了解了Android系统的发展过程及架构,在此基础上,细致阐述了Wi-fi技术的基本最简架构,以及Ad-hoc应用模式的基本原理。
在第二部分中,详细描述了Android系统模拟环境的创建,包括图形化开发环境创建,以及代码开发环境的创建。
第三部分主要描述了接口开发的主要原理,和接口技术的仿真实现,以及最终应用程序的实现。
第二章Android系统概述
2.1Android系统简介
Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。
不过,Android不仅仅只是指一个操作系统,Android是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。
Beta版的AndroidSDK提供了在Android平台上使用Java语言进行Android应用开发必须的工具和API接口。
2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。
现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张。
采用Android系统主要厂商包括美国摩托罗拉(MOTOROLA)、中国台湾HTC、韩国三星(SAMSUNG)、英国索尼爱立信(SonyEricsson),另外还有中国厂商如:
华为、中兴、联想等,其中摩托罗拉占有安卓操作系统目前最大的市场份额,可以称得上是安卓操作系统的领军者。
2.2Android系统架构
2.2.1系统描述
Android以Java为编程语言,从接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类(class)负责创建视窗(window),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。
两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。
如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止(stopped),甚至被系统清除(kill)。
View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout”档将UI放置在视窗上,Android1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的AndroidHero手机即含有大量的widget。
至于ViewGroup是各种layout的基础抽象类(abstractclass),ViewGroup之内还可以有ViewGroup。
View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。
View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个eventlistener,例如:
当View要处理用户触碰(touch)的事件时,就要向Android框架注册View.OnClickListener。
另外还有Image等同于J2ME的BitMap。
Android是运行于Linuxkernel之上,但并不是GNU/Linux。
因为在一般GNU/Linux里支持的功能,Android大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。
Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。
Android为了达到商业应用,必须移除被GNUGPL授权证所约束的部份,例如Android将驱动程序移到userspace,使得Linuxdriver与Linuxkernel彻底分开。
bionic/libc/kernel/并非标准的kernelheaderfiles。
Android的kernelheader是利用工具由Linuxkernelheader所产生的,这样做是为了保留常数、数据结构与宏。
图2.1Android系统架构
2.2.2Android内核
Android系统内核使用Linux内核版本2.6,位于硬件和软件堆之间的抽象层。
核心服务包含:
安全机制、内存管理、进程管理、网络、硬件驱动。
Android依赖Linux内核2.6提供核心服务,比如安全、内存管理、进程管理、网络、硬件驱动。
在这里,Linux内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。
这个操作系统并非类GNU/Linux的,因为其系统库,系统初始化和编程接口都和标准的Linux系统是有所不同的。
从Google目前release的Linux系统来看,其没有虚拟内存文件系统,系统所用的是yaffs2文件系统,具体的映像也都位于SDK安装目录下。
通过emulator-console命令,我们可以在host中断下得到一个简单的可以控制Android的shell,这个系统包含了一个Toolbox,提供一些基本的命令工具,集中在/sbin,/system/sbin,/system/bin中,但是很简陋,命令种类也很少。
目前Android的程序安装模式是靠Eclipse自动进行的,通过对底层的分析可知,大致步骤就是在/data/app和data/data下存放android底层和普通内核没有什么大的区别,我们可以将其作为一个Linux来进行开发和hacking。
图2.2Android系统内核
2.2.3Lib和运行环境
Android系统中包含各种库C/C++库:
被各种Android组件使用,通过应用程序框架开发者可以使用其功能,其中包括:
媒体库:
MPEG4,H.264,MP3,JPG,PNG
WebKit/LibWebCore:
Web,浏览引擎
SQLite关系数据库引擎
2D、3D图形库、引擎
Android系统还提供了丰富的类库支持:
2D和3D图像库OpenGLES、数据库SQLite、对象数据库db4o类库、媒体库、基于Linux底层系统C库等等,让应用开发更简单多样。
Google使用Apache的Harmony类库,Harmony某些方面速度快于Sun的VM。
Runtime在DalvikJavaVM上,Dalvik采用简练、高效的bytecode格式运行,它能够在低资耗和没有应用相互干扰的情况下并行执行多个应用。
图2.3Android系统程序库
Android系统运行环境由核心库提供Java功能,Dalvik虚拟机依赖于Linux内核,例如线程或底层内存管理,设备可以运行多个Dalvik虚拟机,每一个Android应用程序在它自己的DalvikVM实例中运行,VM执行优化的Dalvik可执行文件(.dex)。
Dx-工具把编译过的Java文件转换为dex文件。
2.2.4Android系统应用
Android系统的核心应用包括联系人,电子邮件,电话,浏览器,日历,地图等等,在Android系统中,你可以充分访问所有核心应用框架API,简化组件的重用,还可以使用Java编写应用程序。
图2.4Android系统应用
2.3Android系统历史
2008年9月22日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机——T-MobileG1。
该款手机为台湾宏达电(HTC)代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。
2009年9月初,摩托罗拉坐镇主场在旧金山举办的GigaOM2009大会上携手T-Mobile正式发布了旗下首款搭载Android操作系统的智能手机---MOTOCLIQ,在沉寂许久后的首次爆发吸引了全球无数用户的目光。
如果说T-MobileG1的出世开辟了Android领域先河的话,那么摩托罗拉CLIQ的发布则更多的被视为昔日手机霸主的强势回归!
2009年10月28日正式发布了Android2.0智能手机操作系统,今天摩托罗拉和网络运营商Verizon共同宣布了首款采用Android2.0的手机Droid
2010年1月索尼爱立信首款Android机型X10上市
2010年1月7日,Google在其美国总部正式向外界发布了旗下首款合作品牌手机NexusOne(HTCG5),并同时开始对外发售。
2010年7月9日,美国NDP集团调查显示,Android系统已占据了美国移动系统市场28%的份额。
第三章Wi-fi协议简介
3.1Wi-fi协议概述
Wi-Fi原先是无线保真的缩写,Wi-Fi的英文全称为wirelessfidelity,在无线局域网的范畴是指“无线相容性认证”,实质上是一种商业认证,同时也是一种无线联网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网;常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用WIFI连接方式进行联网,如果无线路由器连接了一条ADSL线路或者别的上网线路,则又被称为“热点”。
所谓Wi-Fi,其实就是 IEEE802.11b 的别称,是由一个名为“无线以太网相容联盟”(WirelessEthernetCompatibilityAlliance,WECA)的组织所发布的业界术语,中文译为“无线相容认证”。
它是一种短程无线传输技术,能够在数百英尺范围
图3.1无线路由器内支持互联网接入的无线电信号。
随著技术的发展,以及IEEE802.11a及IEEE 802.11g等标准的出现,现在IEEE802.11这个标准已被统称作Wi-Fi。
从应用层面来说,要使用Wi-Fi,用户首先要有Wi-Fi兼容的用户端装置。
Wi-Fi是一种帮助用户访问电子邮件、Web和流式媒体的互联网技术。
它为用户提供了无线的宽带互联网访问。
同时,它也是在家里、办公室或在旅途中上网的快速、便捷的途径。
能够访问Wi-Fi网络的地方被称为热点。
Wi-Fi或802.11G在2.4Ghz频段工作,所支持的速度最高达54Mbps。
另外还有两种802.11空间的协议,包括(a)和(b)。
Wi-Fi热点是通过在互联网连接上安装访问点来创建的。
这个访问点将无线信号通过短程进行传输-一般覆盖300英尺。
当一台支持Wi-Fi的设备(例如PocketPC)遇到一个热点时,这个设备可以用无线方式连接到那个网络。
大部分热点都位于供大众访问的地方,例如机场、咖啡店、旅馆、书店以及校园等等。
许多家庭和办公室也拥有Wi-Fi网络。
虽然有些热点是免费的,但是大部分稳定的公共Wi-Fi网络是由私人互联网服务提供商(ISP)提供的,因此会在用户连接到互联网时收取一定费用。
全称WirelessFidelity。
802.11b有时也被错误地标为Wi-Fi,实际上Wi-Fi是无线局域网联盟(WLANA)的一个商标,该商标仅保障使用该商标的商品互相之间可以合作,与标准本身实际上没有关系。
但是后来人们逐渐习惯用WIFI来称呼802.11b协议。
它的最大优点就是传输速度较高,可以达到11Mbps,另外它的有效距离也很长,同时也与已有的各种802.11DSSS设备兼容。
笔记本电脑技术——迅驰技术就是基于该标准的。
IEEE([美国]电子和电气工程师协会)802.11b无线网络规范是IEEE802.11网络规范的扩展,最高带宽为11Mbps,在信号较弱或有干扰的情况下,带宽可调整为5.5Mbps、2Mbps和1Mbps,带宽的自动调整,有效地保障了网络的稳定性和可靠性。
其主要特性为:
速度快,可靠性高,在开放性区域,通讯距离可达305米,在封闭性区域,通讯距离为76米到122米,方便与现有的有线以太网络整合,组网的成本更低。
Wi-Fi(WirelessFidelity,无线相容性认证)的正式名称是“IEEE802.11b”,与蓝牙一样,同属于在办公室和家庭中使用的短距离无线技术。
虽然在数据安全性方面,该技术比蓝牙技术要差一些,但是在电波的覆盖范围方面则要略胜一筹。
Wi-Fi的覆盖范围则可达300英尺左右(约合90米),办公室自不用说,就是在小一点的整栋大楼中也可使用。
因此,Wi-Fi一直是企业实现自己无线局域网所青睐的技术。
还有一个原因,就是与代价昂贵的3G企业网络相比,Wi-Fi似乎更胜一筹。
关于Wi-Fi的热
图3.2Wi-Fi热点点都诞生在2002年,在美国,Wi-Fi就像早期的因特网一样,呈现出星火燎原之势。
在2003年它注定要在世界范围内有着美好的前景。
Wi-Fi带来的高速无线上网将像今天人们打手机一样平常。
各厂商目前都积极将该技术应用于从掌上电脑到桌面计算机的各种设备中,制造新的卖点。
随着Wi-Fi设备数量的增加,其价格将会下降。
Wi-Fi设备的全球年产量在2006年将达到3300万台。
3.2Wi-Fi突出优势
1、无需布线
WiFi最主要的优势在于不需要布线,可以不受布线条件的限制,因此非常适合移动办公用户的需要,具有广阔市场前景。
目前它已经从传统的医疗保健、库存控制和管理服务等特殊行业向更多行业拓展开去,甚至开始进入家庭以及教育机构等领域。
2、健康安全
IEEE802.11规定的发射功率不可超过100毫瓦,实际发射功率约60~70毫瓦,这是一个什么样的概念呢?
手机的发射功率约为200毫瓦至1瓦间,手持式对讲机高达5瓦,而且无线网络使用方式并非像手机直接接触人体,是绝对安全的。
3、覆盖范围广、传输速度快
无线电波的覆盖范围广,基于蓝牙技术的电波覆盖范围非常小,半径大约只有50英尺左右,约合15米,而Wi-Fi的半径则可达300英尺左右,约合100米,办公室自不用说,就是在整栋大楼中也可使用。
最近,由Vivato公司推出的一款新型交换机。
据悉,该款产品能够把目前Wi-Fi无线网络300英尺(接近100米)的通信距离扩大到4英里(约6.5公里)。
虽然由Wi-Fi技术传输的无线通信质量不是很好,数据安全性能比蓝牙差一些,传输质量也有待改进,但传输速度非常快,可以达到54mbps,符合个人和社会信息化的需求。
4、技术门槛低
厂商进入该领域的门槛比较低。
厂商只要在机场、车站、咖啡店、图书馆等人员较密集的地方设置“热点”,并通过高速线路将因特网接入上述场所。
这样,由于“热点”所发射出的电波可以达到距接入点半径数十米至100米的地方,用户只要将支持无线LAN的笔记本电脑或PDA拿到该区域内,即可高速接入因特网。
也就是说,厂商不用耗费资金来进行网络布线接入,从而节省了大量的成本。
3.3Wi-Fi工作原理及网络结构
WiFi的设置至少需要一个AccessPoint(ap)和一个或一个以上的client(hi)。
AP每100ms将SSID(ServiceSetIdentifier)经由beacons(信号台)封包广播一次,beacons封包的传输速率是1Mbit/s,并且长度相当的短,所以这个广播动作对网络效能的影响不大。
因为WiFi规定的最低传输速率是1Mbit/s,所以确保所有的WiFiclient端都能收到这个SSID广播封包,client可以借此决定是否要和这一个SSID的AP连线。
使用者可以设定要连线到哪一个SSID。
一般一个Wi-Fi网络由以下几个部分组成:
图3.3Wi-Fi典型网络结构
1、站点(Station),网络最基本的组成部分。
2、基本服务单元(BasicServiceSet,BSS)。
网络最基本的服务单元。
最简单的服务单元可以只由两个站点组成。
站点可以动态的联结(associate)到基本服务单元中。
3、分配系统(DistributionSystem,DS)。
分配系统用于连接不同的基本服务单元。
分配系统使用的媒介(Medium)逻辑上和基本服务单元使用的媒介是截然分开的,尽管它们物理上可能会是同一个媒介,例如同一个无线频段。
4、接入点(AccessPoint,AP)。
接入点即有普通站点的身份,又有接入到分配系统的功能。
5、扩展服务单元(ExtendedServiceSet,ESS)。
由分配系统和基本服务单元组合而成。
这种组合是逻辑上,并非物理上的──不同的基本服务单元物有可能在地理位置相去甚远。
分配系统也可以使用各种各样的技术。
6、关口(Portal),也是一个逻辑成分。
用于将无线局域网和有线局域网或其它网络联系起来。
此外,还有3种媒介。
站点使用的无线的媒介;分配系统使用的媒介;无线局域网集成一起的其它局域网使用的媒介,物理上它们可能互相重迭。
IEEE802.11只负责在站点使用的无线的媒介上的寻址(Addressing)。
分配系统和其它局域网的寻址不属无线局域网的范围。
IEEE802.11没有具体定义分配系统,只是定义了分配系统应该提供的服务(Service)。
整个无线局域网定义了9种服务:
分配系统任务的5种服务:
联接(Association)
结束联接(Diassociation)
分配(Distribution)
集成(Integration)
再联接(Reassociation)。
服务属于站点的4种服务:
鉴权(Authentication)
结束鉴权(Deauthentication)
隐私(Privacy)
MAC数据传输(MSDUdelivery)。
3.4Ad-hoc应用模式
Ad-Hoc(点对点)模式:
ad-hoc模式就和以前的直连双绞线概念一样,是P2P的连接,所以也就无法与其它网络沟通了。
构成一种特殊的无线网络应用模式,一群计算机接上无线网络卡,即可相互连接,资源共享,无需透过AccessPoint。
一般无线终端设备像PMP、PSP、DMA等用的就是ad-hoc模式。
在家庭无线局域网的组建,我想大家都知道最简单的莫过于两台安装有无线网卡的计算机实施无线互联,其中一台计算机连接Internet就可以共享带宽。
Ad-Hoc结构是一种省去了无线AP而搭建起的对等网络结构,只要安装了无线网卡的计算机彼此之间即可实现无线互联;其原理是网络中的一台电脑主机建立点对点连接相当于虚拟AP,而其它电脑就可以直接通过这个点对点连接进行网络互联与共享。
目前Android系统并不支持Ad-hoc功能,需要我们手动扩展wifiservices中关于wifimode的支持,并且