基于Android的传感器游戏真心话大冒险毕业设计.docx
- 文档编号:2740732
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:30
- 大小:265.70KB
基于Android的传感器游戏真心话大冒险毕业设计.docx
《基于Android的传感器游戏真心话大冒险毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Android的传感器游戏真心话大冒险毕业设计.docx(30页珍藏版)》请在冰点文库上搜索。
基于Android的传感器游戏真心话大冒险毕业设计
石家庄邮电职业技术学院
毕业设计
基于安卓的传感器游戏--真心话大冒险
摘要
近年来,随着3G移动互联网络的发展,智能手机的普及率越来越高,各种智能手机操作系统相继出现。
基于Android系统的手机游戏,是Android应用软件中的最重要的组成部分,有着庞大的用户人群,也必将有巨大的发展潜力。
有人已这样预言,Android手机游戏将是游戏产业的下一个阶段,是手机游戏的未来。
本文主要通过介绍一款基于Android系统的物理传感器小游戏“真心话大冒险”设计与开发过程,讲述了当前较为流行的智能手机传感器游戏在Android系统中的实现过程及涉及的技术要点。
此游戏为利用加速度传感器技术设计的一款“真心话大冒险”小游戏,玩家通过对手机的摆动变换问题达到娱乐休闲的效果。
1 绪论
3G时代已经慢慢的融入了我们的日常生活,随着国家的通信政策以及各大运营商的宣传的影响,3G手机已经随处可见,面对全球信息、技术空前高速发展,信息高速化发展更是社会进步的一个标志。
在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂商智能手机则依旧是电子市场的一颗耀眼的明星。
其中的代表作有诺Nokia的塞班系统,摩托罗拉的Linux系统,但是其中异军突起的仍然是Google的Android系统以其开放的源代码和方便简洁的操作必然是未来智能手机领域的领头羊。
1.1 课题研究背景
1.1.1 手机游戏的发展
手机游戏(MobileGame或WirelessGame),是指消费者利用随身携带并具有无线网络联机功能的智能移动终端设备,能随时随地来进行的游戏。
手机游戏最大的特点是其随时随地进行游戏的便利性。
这些年来,手机游戏市场有了很大的发展,手机游戏已成为使用率最高的手机娱乐应用,占到各种手机娱乐应用比例的78.4%。
在日本,手机游戏市场经历多年的稳定增长,市场规模已经超过了850亿日元。
在美国,手机游戏作为美国手机用户最喜欢的移动应用之一,在iPhone和Android等智能终端推出后发展迅速。
而在中国,根据易观智库产业数据库最新发布的《2010年第4季度中国手机游戏市场季度监测》数据显示,我国2010年手机游戏市场规模已达到30.5亿元,继续保持了较快的发展。
通过图1.1,我们能看出近些年来我国手机游戏市场的发展。
图1.1近几年中国手机游戏市场规模的发展
从上面的图可以看出,中国手机游戏的市场规模在近几年内一直保持了较快的发展,而且这几年的发展速度越来越快。
1.1.2 Android手机游戏平台
Android是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统,号称是首个为移动终端打造的真正开放和完整的移动软件。
自从Google发布智能手机Android操作系统平台(2008年9月首款Android智能手机G1上市)以来,Android平台一直以惊人速度挺进,并支持Android智能手机迅速进入领先行列。
Android在全球智能手机市场上的份额已从去年第五位(3.9%)跃进到现在的第二位(25.5%),今年3季Android手机销量比去年同期增长1309%。
国内外很多市场分析员一致认为,Android到明年有望争得第一的位置(迄今Android在北美、亚洲智能手机市场均已位居第一)。
迄今Android是智能手机市场上最大的赢家,是销售增长最快、最成功的竞争者。
游戏作为Android平台最主要的应用,预示着随着Android手机用户数量的增多,基于Android平台的手机游戏在未来将有巨大的市场潜力,虽然现阶段在国内研究开发Android手机游戏的人数并不多,但移动互联网业界的许多人士都对Android手机游戏未来的发展表示乐观态度,更有业界精英表示,Android手机游戏是游戏产业的下一个阶段,也是手机游戏的未来。
1.2 课题研究意义
1.2.1 Android手机平台的优势
现在常见的智能手机平台有:
Symbian、WindowsMobile、Blackberry、iPhoneiOS等。
Android平台的优势主要体现在以下方面。
(1)开放性
Android平台是开放性的平台,允许任何移动终端厂商加入到Android联盟中来。
显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。
开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
(2)丰富的硬件选择
这一点还是与Android平台的开放性相关。
由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各异的多种产品。
功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。
例如你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等个人资料更是可以方便地转移。
(3)开发手机软件不受任何限制
Android平台提供给第三方开发商一个十分宽泛、自由的环境。
因此不会受到各种条条框框的阻扰,可想而知,如此一来会有多少新颖别致的软件诞生。
(4)无缝结合的Google应用
如今叱咤互联网的Google已经走过了10年度的历史。
从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。
正因为Android具有以上的优越性,所以2010年末数据显示,仅正式推出两年的Android操作系统就将要超越称霸十年的诺基亚SymbianOS系统,使之跃居全球最受欢迎的智能手机平台。
1.2.2 Android手机游戏的市场价值
随着计算机技术和移动通信技术的快速发展,手机用户的数量越来越多,用户在挑选手机设备的时候己经不再拘泥于基本的通话功能。
而新的技术从某种程度上提高了手机设备处理数据的能力,因而可以在手机上添加许多新的功能,以满足用户多样性需求。
为此已经有越来越多的研发机构或部门着手研究开发手机应用软件。
手机游戏作为手机上的应用软件类型之一,更是深受广大用户的喜爱。
由于手机硬件资源有限、屏幕小、游戏时间短等特点,使得手机很适合运行那些剧情简单、操作方便、有益于提高敏捷性和智力开发的游戏。
Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要针对目标用户量身定制。
这是因为游戏玩家的核心需求是统一的,那就是:
娱乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。
因此,绝大多数种类的游戏都具备传染性与普适性,每一个售出的游戏都将会点燃周围潜在玩家的激情,最终吞噬整个需求市场。
由此可知,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户不过是冰山一角,随着Android手机市场进一步壮大,游戏的市场容量将具备更大的增长空间。
综上所述,Android平台相比其他智能手机平台有许多优势,这些优势使Android发展迅速,而Android游戏作为Android手机最主要的应用,其市场价值有目共睹。
1.3 国内外研究现状
Android是Google开发的基于Linux平台的开源手机操作系统。
它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。
Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile在内的30多家技术和无线应用的领军企业组成。
Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
Android作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。
我们发现,全球为数众多的移动电话用户从未使用过任何基于Android的电话。
谷歌的目标是让(移动通讯)不依赖于设备甚至平台。
出于这个目的,Android将补充,而不会替代谷歌长期以来奉行的移动发展战略:
通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。
开放手机联盟的成立和Android的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和高昂的投入。
但是,我们认为全球移动用户从中能获得的潜在利益是值得付出这些努力的。
谷歌将继续努力,让这些服务变得更好,同时也将添加更有吸引力的特性、应用和服务。
1.4 本文主要内容及文章结构
本文主要介绍了基于Android移动设备的加速度传感器技术的应用。
Android平台的加速度传感器是Android基于硬件的传感器,它能够有效的跟踪手机、电脑等移动设备的运动状况,在移动设备上应用普及,Android平台的移动设备极少有不装加速度传感器的,这种加速度传感器目前已经成为移动应用不可分割的一部分。
Android加速度传感器具有检测移动设备在三维空间加速度的功能,可以通过知道移动设备的运动状态获取移动设备加速度传感器的参数,以此控制三维空间中移动设备运动的方式。
2 Android的相关技术介绍和分析
2.1 Android概述
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android从诞生到现在也不过几年的时间,但是也就是在这短短的几年内Android创造了一个迅速被人们知晓并追捧的奇迹。
2007年11月5日,Google与其他33家手机制造商(包含摩托罗拉、宏达电、三星、LG)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持装置联盟(Open Handset Alliance),发布了名为Android的开放手机软硬体平台。
该联盟的成员宣布日后都会在Android平台上开发他们的新的业务。
不久之后的2008年9月24日,T-Mobile公司首度公布第一台Android手机(G1)的细节,同日Google也放出了Android SDK 1.0 rc1。
这样Android进入了人们的视线。
Android以其特有的开放性优势越来越受到人们和智能手机厂商的关注。
对于第三放软件开发商来说,Android是一个真正意义上的开放性移动设备综合平台,Android系统 是免费向开发人员提供的,这样就避免了开发中专利权的障碍。
因此,就能够为第三方软件开发商省下大笔资金。
对于设备制造商来说,Android是一个免费的平台。
当设备制造商每制造一台手机时,那些支付给手机系统制造商的费用也省去了,这样也降低了每台手机的生产费用,同时就降低了手机的价格,这样在市场上也提高了竞争力。
对硬体开发厂商来说,Android也是个开放的平台。
使用Android平台的厂商可以更具自己的需求以及能力为Android开发具有该厂商特色的功能,但是这样的增加完全不用考虑版权的问题。
同时Android平台支持各种先进的网络、绘图、3D处理能力,可以用来提供更好的使用者体验。
2.2 Android操作系统特性
Android操作系统主要包括如下特性:
应用框架:
用于开发可重用可替代的组件。
Dalvik虚拟机:
Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
集成的浏览器:
基于开源的引擎WebKit。
优化的图形:
强大的自定义二维图形库。
基于OpenGLES1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。
SQLite数据库:
SQLite提供结构化的数据存储。
它是一款轻型免费的且开源的数据库,设计目标是嵌入式的。
它具备占用资源低、需要的内存空间少、处理速度较快,并且还支持事务处理功能等优点。
多媒体支持:
支持各种通用的音视频和静态图像格式(MPEG4、MP3、JPG、PNG、GIF、AAC、H.264、AMR)。
GSM技术:
(依赖硬件)GlobalSystemforMobileCommunications,全球移动通讯系统,俗称全球通,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。
蓝牙,EDGE,3G,andWi-Fi:
(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。
EDGE(EnhancedDataRateforGSMEvolution),是增强型数据速率GSM演进技术。
Camera,GPS,Compass,andAccelerometer:
(依赖硬件)GPS(GlobalPositioningSystem),即全球定位系统。
它是一个由覆盖全球的24颗卫星组成的卫星系统。
Compass是一个开放源代码的Java搜索引擎框架。
强大的开发环境:
包括一个设备模拟器,调试工具,内存和性能检测,以及EclipseIDE的开发插件。
Eclipse是个集成开发环境。
2.3 Android操作系统框架结构
Android作为一个开源的移动设备的平台,其软件层次结构自上而下分为四个层次,分别是:
应用程序(Application)、应用程序框架(ApplicationFramework)、各种库(Libraries)和Android运行环境(RunTime)、Linux内核(LinuxKernel)。
图2-1Google手机操作系统平台-Android的架构模型
2.3.1 应用程序
突破传统思维,提供更好的用户体验。
Android将会移植一系列的核心应用,包括E-mail客户端,SMS程序,日历,GPS地图,浏览器,联系人等等。
所有的应用程序都是由Java语言完成的。
应用程序是无界限的,可以在平等条件下创建,还可以轻松地嵌入Web,可以并行运行。
2.3.2 应用程序框架
Android应用程序由一个或多个组件组成,Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。
由于上层的应用程序是以Java构建的,因此本层次提供的首先包含了UI程序中所需要的各种控件:
例如:
Views(视图组件)包括lists(列表),grids(栅格),textboxes(文本框),buttons(按钮)等。
甚至一个嵌入式的Web浏览器。
一个Android的应用程序可以利用应用程序框架中的以下几个部分:
Activity(活动)
BroadcastReceiver(广播接收者)
Service(服务)
ContentProvider(内容提供者)
2.3.3 库与运行环境
Android包含一套C/C++库,能被系统中不同的组件使用。
这些功能通过Android应用框架展现给开发人员。
下面列出一些核心库:
SystemClibrary:
从BSD继承来的标准C系统函数库,也是系统中最为底层的库,是专门为基于嵌入式Linux的设备制定的。
MediaFramework:
该库支持多种常用的音频、视频格式的回放和录制,同时支持静态图片文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等。
SurfaceManager:
用于管理不同应用对图形显示子系统和2D和3D图形层的访问。
FreeType:
位图和向量模式的字体绘制。
SQLite:
一个强大的,轻量的关系型数据库引擎,用于所有的应用。
Android运行时Android包含一组核心库,提供了Java语言核心库内的大部分功能。
Android运行环境主要指的是虚拟机技术——Dalvik。
Dalvik虚拟机依赖Linuxkernel来实现一些潜在功能,例如线程和底层内存管理。
Dalvik虚拟机和一般Java虚拟机(JavaVM)不同,它执行的不是Java标准的字节码而是Dalvik可执行格式(.dex)中执行文件,该格式的文件经过优化占用很小的内存。
在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。
二者最大的区别在于JavaVM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。
显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。
每个Android应用程序都在DalvikVM的一个实例中运行,这个实例驻留在一个由Linux内核管理的进程中。
2.3.4 内核
Android使用Linux2.6内核来提供系统的核心服务,例如:
安全机制,内存管理,进程管理,网络堆栈。
Android更多的是需要一些与移动设备相关的驱动程序[7]。
其主要的驱动有:
显示驱动(DisplayDriver)、Flash内存驱动(FlashMemoryDriver)、照相机驱动(CameraDriver)、音频驱动(AudioDriver)、Wi-Fi驱动(CameraDriver)、键盘驱动(KeyBoardDriver)、蓝牙驱动(BluetoothDriver)、BinderIPC驱动(Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能)。
3 Android的开发环境
3.1 系统开发的环境
Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。
只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:
JavaRuntimeEnvironment)。
此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。
同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
3.2 Eclipse简介
Eclipse是一个开放源代码的、基于 Java 的可扩展软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE。
JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始.Eclipse 包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。
由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。
Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
3.3 其他软件的简介
(1)JDK
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。
JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
JDK是学好Java的第一步。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。
从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
(2)AndroidSDK
SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。
它可以简单的为某个程序设计语言提供应用程序接口 API 的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。
一般的工具包括用于调试和其他用途的实用工具。
SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。
软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。
例如,营销公司会免费提供构件SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
SDK可能附带了使其不能在不兼容的许可证下开发软件的许可证。
例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。
GPL能使SDK与专有软件开发近乎不兼容。
LGPL下的SDK则没有这个问题。
AndroidSDK可以理解为是一个android开发的工具,实际上它是作为eclipse的一个插件,有了它,就可以在eclipse里开发android程序了。
(3)ADT(AndroidDevelopmentTools)
目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。
3.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 传感器 游戏 真心话 大冒险 毕业设计