基于Android的传感器游戏真心话大冒险设计的开发与实现.docx
- 文档编号:25477632
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:19
- 大小:157.79KB
基于Android的传感器游戏真心话大冒险设计的开发与实现.docx
《基于Android的传感器游戏真心话大冒险设计的开发与实现.docx》由会员分享,可在线阅读,更多相关《基于Android的传感器游戏真心话大冒险设计的开发与实现.docx(19页珍藏版)》请在冰豆网上搜索。
基于Android的传感器游戏真心话大冒险设计的开发与实现
石家庄邮电职业技术学院
毕业设计
基于安卓的传感器游戏--真心话大冒险
2021届电信工程系
专业移动通信技术
班级电1104-20
学号302
姓名封爱宇李靖
指导教师路永涛杨雪
完成日期2021年12月19日
摘要
最近几年来,随着3G移动互联网络的进展,智能电话的普及率愈来愈高,各类智能电话操作系统接踵显现。
基于Android系统的电话游戏,是Android应用软件中的最重要的组成部份,有着庞大的用户人群,也必将有庞大的进展潜力。
有人已如此预言,Android电话游戏将是游戏产业的下一个时期,是电话游戏的以后。
本文要紧通过介绍一款基于Android系统的物理传感器小游戏“真心话大冒险”设计与开发进程,讲述了当前较为流行的智能电话传感器游戏在Android系统中的实现进程及涉及的技术要点。
此游戏为利用加速度传感器技术设计的一款“真心话大冒险”小游戏,玩家通过对电话的摆动变换问题达到娱乐休闲的成效。
1 绪论
3G时期已经慢慢的融入了咱们的日常生活,随着国家的通信政策和各大运营商的宣传的阻碍,3G电话已经到处可见,面对全世界信息、技术空前高速进展,信息高速化进展更是社会进步的一个标志。
在全世界信息化的今天,电话已经成为人们日常生活中不可缺少的一部份,尤其是在电子产品日新月异的今天,咱们在平常到处可见的电子产品中,电话无疑是一个最大的用户集,而各大厂商智能电话那么依旧是电子市场的一颗耀眼的明星。
其中的代表作有诺Nokia的塞班系统,摩托罗拉的Linux系统,可是其中异军突起的仍然是Google的Android系统以其开放的源代码和方便简练的操作必然是以后智能电话领域的领头羊。
课题研究背景
电话游戏的进展
电话游戏(MobileGame或WirelessGame),是指消费者利用随身携带并具有无线网络联机功能的智能移动终端设备,能随时随地来进行的游戏。
电话游戏最大的特点是其随时随地进行游戏的便利性。
这些年来,电话游戏市场有了专门大的进展,电话游戏已成为利用率最高的电话娱乐应用,占到各类电话娱乐应用比例的%。
在日本,电话游戏市场经历连年的稳固增加,市场规模已经超过了850亿日元。
在美国,电话游戏作为美国电话用户最喜爱的移动应用之一,在iPhone和Android等智能终端推出后进展迅速。
而在中国,依照易观智库产业数据库最新发布的《2020年第4季度中国电话游戏市场季度监测》数据显示,我国2020年电话游戏市场规模已达到亿元,继续维持了较快的进展。
通过图,咱们能看出近些年来我国电话游戏市场的进展。
图近几年中国电话游戏市场规模的进展
从上面的图能够看出,中国电话游戏的市场规模在近几年内一直维持了较快的进展,而且这几年的进展速度愈来愈快。
Android电话游戏平台
Android是Google于2007年11月5日宣布的基于Linux平台的开源电话操作系统,号称是首个为移动终端打造的真正开放和完整的移动软件。
自从Google发布智能电话Android操作系统平台(2020年9月首款Android智能电话G1上市)以来,Android平台一直以惊人速度挺进,并支持Android智能电话迅速进入领先行列。
Android在全世界智能电话市场上的份额已从去年第五位%)跃进到此刻的第二位%),今年3季Android电话销量比去年同期增加1309%。
国内外很多市场分析员一致以为,Android到明年有望争得第一的位置(迄今Android在北美、亚洲智能电话市场均已位居第一)。
迄今Android是智能电话市场上最大的赢家,是销售增加最快、最成功的竞争者。
游戏作为Android平台最要紧的应用,预示着随着Android电话用户数量的增多,基于Android平台的电话游戏在以后将有庞大的市场潜力,尽管现时期在国内研究开发Android电话游戏的人数并非多,但移动互联网业界的许多人士都对Android电话游戏以后的进展表示乐观态度,更有业界精英表示,Android电话游戏是游戏产业的下一个时期,也是电话游戏的以后。
课题研究意义
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具有以上的优越性,因此2020年末数据显示,仅正式推出两年的Android操作系统就将要超越称霸十年的诺基亚SymbianOS系统,使之跃居全世界最受欢迎的智能电话平台。
Android电话游戏的市场价值
随着运算机技术和移动通信技术的快速进展,电话用户的数量愈来愈多,用户在挑选电话设备的时候己经再也不拘泥于大体的通话功能。
而新的技术从某种程度上提高了电话设备处置数据的能力,因此能够在电话上添加许多新的功能,以知足用户多样性需求。
为此已经有愈来愈多的研发机构或部门着手研究开发电话应用软件。
电话游戏作为电话上的应用软件类型之一,更是深受广大用户的喜爱。
由于电话硬件资源有限、屏幕小、游戏时刻短等特点,使得电话很适合运行那些剧情简单、操作方便、有利于提高敏捷性和智力开发的游戏。
Android平台上的游戏相较应用软件,不需要进行严格的市场细分,不需要针对目标用户量身定制。
这是因为游戏玩家的核心需求是统一的,那确实是:
娱乐与打发时刻(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会进展时期,不受地域的限制,乃至于能够穿透文化壁垒。
因此,绝大多数种类的游戏都具有传染性与普适性,每一个售出的游戏都将会点燃周围潜在玩家的激情,最终吞噬整个需求市场。
由此可知,几乎每一个Android电话用户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户只是是冰山一角,随着Android电话市场进一步壮大,游戏的市场容量将具有更大的增加空间。
综上所述,Android平台相较其他智能电话平台有许多优势,这些优势使Android进展迅速,而Android游戏作为Android电话最要紧的应用,其市场价值有目共睹。
国内外研究现状
Android是Google开发的基于Linux平台的开源电话操作系统。
它包括操作系统、用户界面和应用程序——移动工作所需的全数软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。
Google与开放电话联盟合作开发了Android,那个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile在内的30多家技术和无线应用的领军企业组成。
Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助成立标准化、开放式的移动软件平台,在移动产业内形成一个开放式的生态系统。
Android作为谷歌企业战略的重要组成部份,将进一步推动"随时随地为每一个人提供信息"这一企业目标的实现。
咱们发觉,全世界为数众多的移动用户从未利用过任何基于Android的。
谷歌的目标是让(移动通信)不依托于设备乃至平台。
出于那个目的,Android将补充,而可不能替代谷歌长期以来奉行的移动进展战略:
通过与全世界各地的电话制造商和移动运营商结成合作伙伴,开发既有效又有吸引力的移动效劳,并推行这些产品。
开放电话联盟的成立和Android的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和昂贵的投入。
可是,咱们以为全世界移动用户从中能取得的潜在利益是值得付出这些尽力的。
谷歌将继续尽力,让这些效劳变得更好,同时也将添加更有吸引力的特性、应用和效劳。
本文要紧内容及文章结构
本文要紧介绍了基于Android移动设备的加速度传感器技术的应用。
Android平台的加速度传感器是Android基于硬件的传感器,它能够有效的跟踪电话、电脑等移动设备的运动状况,在移动设备上应用普及,Android平台的移动设备极少有不装加速度传感器的,这种加速度传感器目前已经成为移动应用不可分割的一部份。
Android加速度传感器具有检测移动设备在三维空间加速度的功能,能够通过明白移动设备的运动状态获取移动设备加速度传感器的参数,以此操纵三维空间中移动设备运动的方式。
2 Android的相关技术介绍和分析
Android概述
Android一词的本义指“机械人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源电话操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
Android从诞生到此刻也只是几年的时刻,可是也确实是在这短短的几年内Android制造了一个迅速被人们知晓并追捧的奇迹。
2007年11月5日,Google与其他33家电话制造商(包括摩托罗拉、宏达电、三星、LG)、电话晶片供给商、软硬体供给商、电信业者所联合组成的开放手持装置联盟(Open Handset Alliance),发布了名为Android的开放电话软硬体平台。
该联盟的成员宣布往后都会在Android平台上开发他们的新的业务。
不久以后的2020年9月24日,T-Mobile公司首度发布第一台Android电话(G1)的细节,同日Google也放出了Android SDK rc1。
如此Android进入了人们的视线。
Android以其特有的开放性优势愈来愈受到人们和智能电话厂商的关注。
关于第三放软件开发商来讲,Android是一个真正意义上的开放性移动设备综合平台,Android系统 是免费向开发人员提供的,如此就幸免了开发中专利权的障碍。
因此,就能够够为第三方软件开发商省下大笔资金。
关于设备制造商来讲,Android是一个免费的平台。
当设备制造商每制造一台电话时,那些支付给电话系统制造商的费用也省去了,如此也降低了每台电话的生产费用,同时就降低了电话的价钱,如此在市场上也提高了竞争力。
对硬体开发厂商来讲,Android也是个开放的平台。
利用Android平台的厂商能够更具自己的需求和能力为Android开发具有该厂商特色的功能,可是如此的增加完全不用考虑版权的问题。
同时Android平台支持各类先进的网络、画图、3D处置能力,能够用来提供更好的利用者体验。
Android操作系统特性
Android操作系统要紧包括如下特性:
应用框架:
用于开发可重用可替代的组件。
Dalvik虚拟机:
Android采纳的Java虚拟机是自主开发的代号为Dalvik的虚拟机,在保证API方面兼容的同时Dalvik针对移动电话进行了大幅优化,占用资源更小,运行效率更高。
集成的阅读器:
基于开源的引擎WebKit。
优化的图形:
壮大的自概念二维图形库。
基于OpenGLES标准的3D图形功能,在移动3D开发中有着相当重要的地位。
SQLite数据库:
SQLite提供结构化的数据存储。
它是一款轻型免费的且开源的数据库,设计目标是嵌入式的。
它具有占用资源低、需要的内存空间少、处置速度较快,而且还支持事务处置功能等优势。
多媒体支持:
支持各类通用的音视频和静态图像格式(MPEG4、MP3、JPG、PNG、GIF、AAC、、AMR)。
GSM技术:
(依托硬件)GlobalSystemforMobileCommunications,全世界移动通信系统,俗称全世界通,是第二代移动通信技术,其开发目的是让全世界各地能够一起利用一个移动网络标准,让用户利用一部电话就能够行遍全世界。
蓝牙,EDGE,3G,andWi-Fi:
(依托硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内能够实现话音和数据的无线传输。
EDGE(EnhancedDataRateforGSMEvolution),是增强型数据速度GSM演进技术。
Camera,GPS,Compass,andAccelerometer:
(依托硬件)GPS(GlobalPositioningSystem),即全世界定位系统。
它是一个由覆盖全世界的24颗卫星组成的卫星系统。
Compass是一个开放源代码的Java搜索引擎框架。
壮大的开发环境:
包括一个设备模拟器,调试工具,内存和性能检测,和EclipseIDE的开发插件。
Eclipse是个集成开发环境。
Android操作系统框架结构
Android作为一个开源的移动设备的平台,其软件层次结构自上而下分为四个层次,别离是:
应用程序(Application)、应用程序框架(ApplicationFramework)、各类库(Libraries)和Android运行环境(RunTime)、Linux内核(LinuxKernel)。
图2-1Google电话操作系统平台-Android的架构模型
应用程序
冲破传统思维,提供更好的用户体验。
Android将会移植一系列的核心应用,包括E-mail客户端,SMS程序,日历,GPS地图,阅读器,联系人等等。
所有的应用程序都是由Java语言完成的。
应用程序是无界限的,能够在平等条件下创建,还能够轻松地嵌入Web,能够并行运行。
应用程序框架
Android应用程序由一个或多个组件组成,Android的应用程序框架为应用程序层的开发者提供APIs,它事实上是一个应用程序的框架。
由于上层的应用程序是以Java构建的,因此本层次提供的第一包括了UI程序中所需要的各类控件:
例如:
Views(视图组件)包括lists(列表),grids(栅格),textboxes(文本框),buttons(按钮)等。
乃至一个嵌入式的Web阅读器。
一个Android的应用程序能够利用应用程序框架中的以下几个部份:
Activity(活动)
BroadcastReceiver(广播接收者)
Service(效劳)
ContentProvider(内容提供者)
库与运行环境
Android包括一套C/C++库,能被系统中不同的组件利用。
这些功能通过Android应用框架展现给开发人员。
下面列出一些核心库:
SystemClibrary:
从BSD继承来的标准C系统函数库,也是系统中最为底层的库,是专门为基于嵌入式Linux的设备制定的。
MediaFramework:
该库支持多种经常使用的音频、视频格式的回放和录制,同时支持静态图片文件,包括MPEG4、、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内核治理的进程中。
内核
Android利用内核来提供系统的核心效劳,例如:
平安机制,内存治理,进程治理,网络堆栈。
Android更多的是需要一些与移动设备相关的驱动程序[7]。
其要紧的驱动有:
显示驱动(DisplayDriver)、Flash内存驱动(FlashMemoryDriver)、照相机驱动(CameraDriver)、音频驱动(AudioDriver)、Wi-Fi驱动(CameraDriver)、键盘驱动(KeyBoardDriver)、蓝牙驱动(BluetoothDriver)、BinderIPC驱动(Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能)。
3 Android的开发环境
系统开发的环境
Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,因此,Google公司推荐利用主流的Java继承开发环境Eclipse。
只有Eclipse还不够,因为是利用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:
JavaRuntimeEnvironment)。
另外,Android的应用程序开发和Java开发有较大区别的,因此还需要有Google提供的AndroidSDK。
同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
Eclipse简介
Eclipse是一个开放源代码的、基于 Java 的可扩展软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台,就其本身而言,它只是一个框架和一组效劳,用于通过插件组件构建开发环境。
它要紧由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部份组成——Eclipse Platform、JDT、CDT和PDE。
JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform那么是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
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差不多,但由于其开放源码,任何人都能够免费取得,并能够在此基础上开发各自的插件,因此愈来愈受人们关注。
其他软件的简介
(1)JDK
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为利用最普遍的JavaSDK。
JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
JDK是学好Java的第一步。
而专门运行在x86平台的Jrocket在效劳端运行效率也要比SunJDK好很多。
从SUN的开始,提供了泛型等超级有效的功能,其版本也不断更新,运行效率取得了超级大的提高。
(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下开发工具的升级下载工具。
系统开发编程语言的简介
Java是一种简单的,面向对象的,散布式的,说明型的,健壮平安的,结构中立的,可移植的,性能优良、多线程的动态语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 传感器 游戏 真心话 大冒险 设计 开发 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)