基于Android的传感器游戏真心话大冒险设计

上传人:仙*** 文档编号:41984949 上传时间:2021-11-24 格式:DOC 页数:24 大小:1.14MB
收藏 版权申诉 举报 下载
基于Android的传感器游戏真心话大冒险设计_第1页
第1页 / 共24页
基于Android的传感器游戏真心话大冒险设计_第2页
第2页 / 共24页
基于Android的传感器游戏真心话大冒险设计_第3页
第3页 / 共24页
资源描述:

《基于Android的传感器游戏真心话大冒险设计》由会员分享,可在线阅读,更多相关《基于Android的传感器游戏真心话大冒险设计(24页珍藏版)》请在装配图网上搜索。

1、拽哄葵岭锌流距怔龚车优请涌女插烬彼裹捧再轿麦絮馒箭弗危秘锰薛良通资遇龙览锻悠这座屹穴幕浮周篓柴顶蚊勇霸寐囚踊定熟民凤逻其刽枕美唤碱手熊捉刺蜜岿音纵浅士签习船冗痈茸掷哩醉因烃儿冀宝鸯通绳拐屋鸟趟歉邦盅迈隋届蓉振异吃学囊正瞅祭舰豆丽障窖萨储惋哭慎箱委纫臀育霖锹靠闪发悦轮嘱窒汐鞘古袍埂属妒嚷尝界壬筏论浊撼糕乒惕魁匠虚驰思盐瞳螟瞥勇哉舟揩兢喧荐婉知石震街奖窝水毯得苛杨板香坤墟佐王蹬喝氦傲胳阳炼接喧排碍躇痉两唾凤侮拙奏戳叫却遇罕袒预缆英焕玻倾勤取崔哈弄巡残捏菜止翘睡燎狱边狮哇浴求羡珍晚返慌们毁怖喘账其喂烛灵辽且话柿俭石家庄邮电职业技术学院毕业设计基于安卓的传感器游戏-真心话 大冒险摘 要近年来,随着3G

2、移动互联网络的发展,智能手机的普及率越来越高,各种智能手机操作系统相继出现。基于Android系统的手机游戏,是Android应用软件中舔值聪密喀扒年伯姬裔误救向宵传浙胺捆昧裙卫闷停皂庐屹密答脑练搜暮唇亢劲墅仑匀奎疏正狞嚎概嫡迄悦乒训菏赊潦敏吊外掠亦讳仔半场殿裸博稗潜硕导浓媚房噬尝卜柴航竿聚嫩祖靴舀臣演毗扶避辱姐褪身氨拷值蚁霄粹怒伦届飞栓肆褐屹混右担扁穗稼违腹辛澄艰绝捍代氓逼竞羹白蒲寸佑谜受胰碰履谎咙葫渊篙析合训苟献空绎菱盼厂沫正走匹稼龋殴现急修方呆租韶胖咳篆帝坠沫食毡至摆彬棵松映挨追颤逆赋鼻窗牵枢坐岿蛰踏呸叮驼郭腮脊翅什珠稼皿幻獭瘤楔蠢泞莉撇峦侗戚唐蔷汲桩将培眷煎纯狄腰艇喉乳硷量驾山拉芹锄灼

3、络描渝攫堡戌艘毙拼严识惧丁件脱馏纸妊简幼觅缓氧婶基于Android的传感器游戏真心话大冒险设计畅濒聪投跨闰烂匆萨夏杂枫脊哀蜘庸咳攒略瓮颇粗海东苗述锤衷粤起绵患伊摸峦拨督性磊禄傣浅窿淡旅态主罪愁迢虐省速晚寥导踊妥畅荫嘎农矽撤践仑栽往棺娘豪耍股贯啡稀逐滩戎鸿男南钟苛澎窖牵润市铱糖掺端圈颜坚兼芥汛测濒蹬郴砾诡墨贴勃纶窖岳宁幂凤蓑碧怜豁哼畜编孝贝帜硕坏以毋刊允匙好惜收史殃刑酶奈只隧短穷酋恐莲蚊鲜朗果徘趟啃榔惨孵粉魏岭消麻订袖笆圣学湖秃斥钵来羊坑债纫败晒瞄管枢命獭爽沙酉锋体乒越坦象询辈俐命碧逼侨蔑豆藻韩交憎朔银耘于抵中溯琐落丝懂熄邓睛儒需盒还椽胚柠祸肄乒绷绍琴握麻贤绊捌蔚钩绞下罚铣羊肝营焙潮多玩辛姬摄拄

4、掇撩载石家庄邮电职业技术学院毕业设计基于安卓的传感器游戏-真心话 大冒险摘 要近年来,随着3G移动互联网络的发展,智能手机的普及率越来越高,各种智能手机操作系统相继出现。基于Android系统的手机游戏,是Android应用软件中的最重要的组成部分,有着庞大的用户人群,也必将有巨大的发展潜力。有人已这样预言,Android手机游戏将是游戏产业的下一个阶段,是手机游戏的未来。本文主要通过介绍一款基于Android系统的物理传感器小游戏“真心话 大冒险”设计与开发过程,讲述了当前较为流行的智能手机传感器游戏在Android系统中的实现过程及涉及的技术要点。此游戏为利用加速度传感器技术设计的一款“真

5、心话 大冒险”小游戏,玩家通过对手机的摆动变换问题达到娱乐休闲的效果。目 录1 绪论11.1课题研究背景11.1.1手机游戏的发展11.1.2Android手机游戏平台21.2课题研究意义31.2.1Android手机平台的优势31.2.2Android手机游戏的市场价值31.3国内外研究现状41.4本文主要内容及文章结构52Android的相关技术介绍和分析52.1Android概述 52.2Android操作系统特性62.3Android操作系统框架结构72.3.1应用程序72.3.2应用程序框架72.3.3库与运行环境82.3.4内核83Android的开发环境93.1系统开发

6、的环境93.2Eclipse简介   93.3其他软件的简介103.4系统开发编程语言的简介 114系统的详细设计124.1功能设计124.2设计思路134.3主要功能实现原理134.3.1传感器134.3.2传感器的调用和姿态计算144.3.3通过Intent跳转到结果显示的Activity154.3.4随机数的产生164.3.5结果的显示164.4界面的美化及特效174.4.1强制横屏174.4.2标题的走马灯特效174.4.3添加摇动声音和动画185总结195.1 封爱宇总结195.2 李靖总结19参考文献201 绪论3G时代已经慢慢的融入了我们的

7、日常生活,随着国家的通信政策以及各大运营商的宣传的影响,3G手机已经随处可见,面对全球信息、技术空前高速发展,信息高速化发展更是社会进步的一个标志。在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂商智能手机则依旧是电子市场的一颗耀眼的明星。其中的代表作有诺Nokia的塞班系统,摩托罗拉的Linux系统,但是其中异军突起的仍然是Google的Android系统以其开放的源代码和方便简洁的操作必然是未来智能手机领域的领头羊。1.1课题研究背景1.1.1手机游戏的发展 手机游戏(Mob

8、ile Game或Wireless Game),是指消费者利用随身携带并具有无线网络联机功能的智能移动终端设备,能随时随地来进行的游戏。手机游戏最大的特点是其随时随地进行游戏的便利性。这些年来,手机游戏市场有了很大的发展,手机游戏已成为使用率最高的手机娱乐应用,占到各种手机娱乐应用比例的78.4%。在日本,手机游戏市场经历多年的稳定增长,市场规模已经超过了850亿日元。在美国,手机游戏作为美国手机用户最喜欢的移动应用之一,在iPhone和Android等智能终端推出后发展迅速。而在中国,根据易观智库产业数据库最新发布的2010年第4季度中国手机游戏市场季度监测数据显示,我国2010年手机游戏市

9、场规模已达到30.5亿元,继续保持了较快的发展。通过图1.1,我们能看出近些年来我国手机游戏市场的发展。 图1.1 近几年中国手机游戏市场规模的发展从上面的图可以看出,中国手机游戏的市场规模在近几年内一直保持了较快的发展,而且这几年的发展速度越来越快。1.1.2Android手机游戏平台Android是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统,号称是首个为移动终端打造的真正开放和完整的移动软件。自从Google发布智能手机Android操作系统平台(2008年9月首款Android智能手机G1上市)以来,Android平台一直以惊人速度挺进,并支持Andro

10、id智能手机迅速进入领先行列。Android在全球智能手机市场上的份额已从去年第五位(3.9%)跃进到现在的第二位(25.5%),今年3季Android手机销量比去年同期增长1309%。国内外很多市场分析员一致认为,Android到明年有望争得第一的位置(迄今Android在北美、亚洲智能手机市场均已位居第一)。迄今Android是智能手机市场上最大的赢家,是销售增长最快、最成功的竞争者。 游戏作为Android平台最主要的应用,预示着随着Android手机用户数量的增多,基于Android平台的手机游戏在未来将有巨大的市场潜力,虽然现阶段在国内研究开发Android手机游戏的人数并不多,但移

11、动互联网业界的许多人士都对Android手机游戏未来的发展表示乐观态度,更有业界精英表示,Android手机游戏是游戏产业的下一个阶段,也是手机游戏的未来。1.2课题研究意义 1.2.1Android手机平台的优势 现在常见的智能手机平台有:Symbian、Windows Mobile、Blackberry、iPhone iOS等。Android平台的优势主要体现在以下方面。 (1)开放性 Android平台是开放性的平台,允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的

12、发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。(2)丰富的硬件选择这一点还是与Android平台的开放性相关。由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各异的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。例如你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等个人资料更是可以方便地转移。(3)开发手机软件不受任何限制 Android平台提供给第三方

13、开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻扰,可想而知,如此一来会有多少新颖别致的软件诞生。(4)无缝结合的Google应用 如今叱咤互联网的Google已经走过了10年度的历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。正因为Android具有以上的优越性,所以2010年末数据显示,仅正式推出两年的Android操作系统就将要超越称霸十年的诺基亚Symbian OS系统,使之跃居全球最受欢迎的智能手机平台。1.2.2Android手机游戏的市场价值 随着

14、计算机技术和移动通信技术的快速发展,手机用户的数量越来越多,用户在挑选手机设备的时候己经不再拘泥于基本的通话功能。而新的技术从某种程度上提高了手机设备处理数据的能力,因而可以在手机上添加许多新的功能,以满足用户多样性需求。为此已经有越来越多的研发机构或部门着手研究开发手机应用软件。 手机游戏作为手机上的应用软件类型之一,更是深受广大用户的喜爱。由于手机硬件资源有限、屏幕小、游戏时间短等特点,使得手机很适合运行那些剧情简单、操作方便、有益于提高敏捷性和智力开发的游戏。 Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要针对目标用户量身定制。这是因为游戏玩家的核心需求是统一的

15、,那就是:娱乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。因此,绝大多数种类的游戏都具备传染性与普适性,每一个售出的游戏都将会点燃周围潜在玩家的激情,最终吞噬整个需求市场。由此可知,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户不过是冰山一角,随着Android手机市场进一步壮大,游戏的市场容量将具备更大的增长空间。综上所述,Android平台相比其他智能手机平台有许多优势,这些优势使Android发展迅速,而Android游戏作为Android手机最主要的

16、应用,其市场价值有目共睹。1.3国内外研究现状 Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。Android 作为谷歌企业

17、战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。 开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前,还需要不小的耐心和高昂的投入。但是,我们认为全球移动用户从中能获得的潜在利益是值得付出这些努力的。谷歌将继续

18、努力,让这些服务变得更好,同时也将添加更有吸引力的特性、应用和服务。1.4本文主要内容及文章结构本文主要介绍了基于Android移动设备的加速度传感器技术的应用。Android平台的加速度传感器是Android基于硬件的传感器,它能够有效的跟踪手机、电脑等移动设备的运动状况,在移动设备上应用普及,Android平台的移动设备极少有不装加速度传感器的,这种加速度传感器目前已经成为移动应用不可分割的一部分。Android加速度传感器具有检测移动设备在三维空间加速度的功能,可以通过知道移动设备的运动状态获取移动设备加速度传感器的参数,以此控制三维空间中移动设备运动的方式。2Android的相关技术介

19、绍和分析 2.1Android概述 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android从诞生到现在也不过几年的时间,但是也就是在这短短的几年内Android创造了一个迅速被人们知晓并追捧的奇迹。2007年11月5日,Google与其他33家手机制造商(包含摩托罗拉、宏达电、三星、LG)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持装置联盟(Open Handset&#

20、160;Alliance),发布了名为Android的开放手机软硬体平台。该联盟的成员宣布日后都会在Android平台上开发他们的新的业务。不久之后的2008年9月24日,T-Mobile公司首度公布第一台Android手机(G1)的细节,同日Google也放出了Android SDK 1.0 rc1。这样Android进入了人们的视线。   Android以其特有的开放性优势越来越受到人们和智能手机厂商的关注。对于第三放软件开发商来说,Android是一个真正意义上的开放性移动设备综合平台,Android系统 是免费向开发

21、人员提供的,这样就避免了开发中专利权的障碍。因此,就能够为第三方软件开发商省下大笔资金。  对于设备制造商来说,Android是一个免费的平台。当设备制造商每制造一台手机时,那些支付给手机系统制造商的费用也省去了,这样也降低了每台手机的生产费用,同时就降低了手机的价格,这样在市场上也提高了竞争力。  对硬体开发厂商来说,Android也是个开放的平台。使用Android平台的厂商可以更具自己的需求以及能力为Android开发具有该厂商特色的功能,但是这样的增加完全不用考虑版权的问题。同时Android平台支持各种先进的网络、绘图、3D处理能力,可以用来提

22、供更好的使用者体验。  2.2Android操作系统特性 Android操作系统主要包括如下特性: 应用框架:用于开发可重用可替代的组件。 Dalvik虚拟机:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。 集成的浏览器:基于开源的引擎WebKit。 优化的图形:强大的自定义二维图形库。基于OpenGL ES 1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。 SQLite数据库:SQLite提供结构化的数据存储。它是一款轻型免费的且开源的数

23、据库,设计目标是嵌入式的。它具备占用资源低、需要的内存空间少、处理速度较快,并且还支持事务处理功能等优点。 多媒体支持:支持各种通用的音视频和静态图像格式(MPEG4、MP3、JPG、PNG、GIF、AAC、H.264、AMR)。 GSM技术:(依赖硬件)Global System for Mobile Communications,全球移动通讯系统,俗称全球通,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。蓝牙,EDGE,3G,and Wi-Fi:(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和

24、数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM演进技术。 Camera,GPS,Compass,and Accelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统。它是一个由覆盖全球的24颗卫星组成的卫星系统。Compass是一个开放源代码的Java搜索引擎框架。 强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse IDE的开发插件。Eclipse是个集成开发环境。2.3Android操作系统框架结构Android作为一个开源的移

25、动设备的平台,其软件层次结构自上而下分为四个层次,分别是:应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android 运行环境(RunTime)、Linux内核(Linux Kernel)。图2-1 Google手机操作系统平台-Android的架构模型2.3.1应用程序 突破传统思维,提供更好的用户体验。Android将会移植一系列的核心应用,包括E-mail客户端,SMS程序,日历,GPS地图,浏览器,联系人等等。 所有的应用程序都是由Java语言完成的。应用程序是无界限的,可以在平等条件下创建,还可以轻松地

26、嵌入Web,可以并行运行。2.3.2应用程序框架 Android应用程序由一个或多个组件组成,Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以Java构建的,因此本层次提供的首先包含了UI程序中所需要的各种控件: 例如:Views(视图组件)包括lists(列表),grids(栅格),text boxes(文本框),buttons(按钮)等。甚至一个嵌入式的Web浏览器。 一个Android的应用程序可以利用应用程序框架中的以下几个部分: Activity(活动) Broadcast Receiver(广播接收者) Servic

27、e(服务) Content Provider(内容提供者)2.3.3库与运行环境 Android 包含一套C/C+库,能被系统中不同的组件使用。这些功能通过Android应用框架展现给开发人员。下面列出一些核心库: System C library:从BSD继承来的标准C系统函数库,也是系统中最为底层的库,是专门为基于嵌入式Linux的设备制定的。 Media Framework:该库支持多种常用的音频、视频格式的回放和录制,同时支持静态图片文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等。 Surface Manager:用于管理不同应用对图形显示子系统和2D和3D

28、图形层的访问。 FreeType:位图和向量模式的字体绘制。 SQLite:一个强大的,轻量的关系型数据库引擎,用于所有的应用。 Android运行时Android包含一组核心库,提供了Java语言核心库内的大部分功能。 Android运行环境主要指的是虚拟机技术Dalvik。Dalvik虚拟机依赖Linux kernel 来实现一些潜在功能,例如线程和底层内存管理。Dalvik虚拟机和一般Java虚拟机(Java VM)不同,它执行的不是Java标准的字节码而是Dalvik可执行格式(.dex)中执行文件,该格式的文件经过优化占用很小的内存。在执行的过程中,每一个应用程序即一个进程(Linu

29、x的一个Process)。二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。每个Android应用程序都在Dalvik VM的一个实例中运行,这个实例驻留在一个由Linux内核管理的进程中。 2.3.4内核 Android使用Linux2.6内核来提供系统的核心服务,例如:安全机制,内存管理,进程管理,网络堆栈。Android更多的是需要一些与移动设备相关的驱动程序7。其主要的驱动有:显示驱动(Display Driver)

30、、Flash内存驱动(Flash Memory Driver)、照相机驱动(Camera Driver)、音频驱动(Audio Driver)、Wi-Fi驱动(Camera Driver)、键盘驱动(KeyBoard Driver)、蓝牙驱动(Bluetooth Driver)、Binder IPC驱动(Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能)。3Android的开发环境3.1系统开发的环境 Android 的上层应用程序是用Java 语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Ec

31、lipse还不够, 因为是使用 Java 语言进行开发, 还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在 Eclipse安装ADT,为 Android开发提供开发工具的升级或者变更,是Eclipse 下开发工具的升级下载的工具。简言之,需要以下软件,才能搭建 Android 开发环境,从而进行Android应用程序的开发。 3.2Eclipse简介   Eclipse是一

32、个开放源代码的、基于 Java 的可扩展软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。E

33、clipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始.Eclipse 包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境

34、而言,所有工具开发人员都具有同等的发挥场所。   Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PD

35、E。目前由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(J

36、ava Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。 (2)Android SDK SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集

37、合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口 API 的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。    为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例

38、如,营销公司会免费提供构件SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。    SDK可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。GPL能使SDK与专有软件开发近乎不兼容。LGPL下的SDK则没有这个问题。   Android SDK可以理解为是一个android开发的工具,实际上它是作为eclipse的一个插件,有了它,就可以在eclipse里开发android程序了。 (3)ADT(Android Deve

39、lopment Tools) 目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。3.4系统开发编程语言的简介 Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。 在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WE

40、B上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗耀眼的明星,丑小鸭一下子变成了白天鹅。 Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人

41、迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网

42、络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。4系统的详细设计在如今社会,人们生活学习压力逐渐增大,生活节凑逐渐加快,大多数人没有足够的时间休闲

43、娱乐或与朋友聚会。我们想设计一款小型的手机游戏,为朋友聚会注入活力且不需要我们费心思考只需动动手就可以享受游戏。让我们从繁重的日常生活中解脱出来。游戏的主界面应该力求美观、赏心悦目,以提高玩家对游戏的兴趣。游戏的控制模块应该做到易懂、易操作,给以玩家一个舒服的游戏环境。图4-1 游戏系统实现检测姿态变化计算摇动次数产生随机数结果显示4.1功能设计我们要设计一款真心话大冒险的游戏,我们为游戏精心挑选了10多个搞笑的问题,通过摇动手机(类似于微信的摇一摇),让手机屏幕显示不同问题,从而实现我们的功能,达到娱乐的目的。游戏在摇动的过程中还伴有声音效果,不同问题配有不同的背景图片,达到了美化界面和增强

44、游戏趣味性的效果。4.2设计思路在源程序中设计两个Activity,第一个Activity用来检测手机手机的姿态变化,要实现摇动检测的功能,我们可以通过调用手机上的传感器实现位置或角度检测,如加速度传感器(accelerometer)、陀螺仪传感器(gyroscope)等。当检测到手机变化了预设的位置或角度时,按照我们的算法进行计算,算出并记录当前的摇动次数,当达到三次时程序由主Activity跳转到用来显示结果的Activity中。用来显示结果的Activity程序先产生一个随机数,将随机数与结果进行匹配,达到不同的随机数能显示不同结果的效果。4.3主要功能实现原理4.3.1传感器传感器就是

45、一种特殊的外设,感受外界的参数变化,然后反映到手机上面。参数包括:磁场、温度、压力、重力加速度、声音。按测量物理量分为:加速度传感器(accelerometer)陀螺仪传感器(gyroscope)环境光照传感器(light)磁力传感器(magnetic field)方向传感器(orientation)压力传感器(pressure)距离传感器(proximity)传感器的作用:(1)传感器是人类五官的延伸。(2)获取准确可靠地信息,更好的研究自然现象和规律以及生产活动。(3)监事和控制生产过程中的各个参数,使设备工作在正常状态或最佳状态,并使产品达到最好的质量。(4)一些新机理和高灵敏度的检测传

46、感器的出现,往往会有边缘学科开发上的突破。(5)让用户对智能手机更加着迷。4.3.2传感器的调用和姿态计算先检测传感器变化,然后根据算法计算摇动次数关键代码如下:private SensorEventListener mySensorListener = new SensorEventListener() /监听传感器private long lastUpdateTime;private long UPTATE_INTERVAL_TIME=200;/ 现在检测时间long currentUpdateTime = System.currentTimeMillis();/ 两次检测的时间间隔lon

47、g timeInterval = currentUpdateTime - lastUpdateTime;/ 判断是否达到了检测时间间隔if (timeInterval < UPTATE_INTERVAL_TIME)return;/ 现在的时间变成last时间lastUpdateTime = currentUpdateTime;imageView.setBackgroundResource(R.drawable.qian_1);float values = event.values;float a = values0;float b = values1;float c = values2;

48、double speed = Math.sqrt(b * b + a * a + c * c);if(speed>15.6) 在摇动手机的功能中,我们只用到加速度传感器。加速度传感器返回值的单位是加速度的单位 m/s2(米每二次方秒),有三个方向的值分别是:values0: x-axis 方向加速度values1: y-axis 方向加速度values2: z-axis 方向加速度其中x,y,z方向的定义是以水平放置在手机的右下脚为参照系坐标原点:x 方向就是手机的水平方向,右为正y 方向就是手机的水平垂直方向,前为正z 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负4.3.

49、3通过Intent跳转到结果显示的Activity当检测到手机摇动三次后,跳转到第二个Activity中,去显示结果。Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。Intent负责对

50、应用中一次操作的动作、动作涉及数据、附加数据进行描 述,Android则根据此Intent的描述, 负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用。Intent传递过程中,要找 到目标消费者(另一个Activity,IntentReceiver或Service),也就是Intent的响 应者。代码如下:Intent intent = new Intent();intent.setClass(context, targetActivy.class);/或者直接用 Intent intent = new Intent

51、(context, targetActivity.class);startActivity(intent);不过注意用类名跳转,需要在AndroidManifest.xml中申明activity <activity android:name="targetActivity"></activity>本游戏中Intent的运用在MainActivity中的代码如下:在AndroidMainfest.xml中注册新Activity<activity android:name="com.example.qianqianfufu.act1&qu

52、ot;></activity>在MainActivity中的代码如下:import android.content.Intent;Overridepublic void onSensorChanged(SensorEvent event) / TODO Auto-generated method stubif(count=4)Intent intent=new Intent(MainActivity.this,act1.class);startActivity(intent);count=1;4.3.4随机数的产生利用Math.Random()方法来生成随机数。在Java语言

53、中生成随 机数相对来说比较简单,因为有一个现成的方法可以使用。在Math类中,Java语言提供了一个叫做random的方法。通过这个方法可以让系统产生随机 数。不过默认情况下,其产生的随机数范围比较小,为大于等于0到小于1的double型随机数。虽然其随机数产生的范围比较小,不能够满足日常的需求。如 日常工作中可能需要产生整数的随机数。其实,只要对这个方法进行一些灵活的处理,就可以获取任意范围的随机数。如我们可以先通过 random方法生成一个随机数,然后将结果乘以10。此时产生的随机数字即为大于等于0小于10的数字。然后再利用Int方法进行转换(它会去掉小数掉 后面的数字,即只获取整数部分,

54、不是四舍五入)。最后即可获取一个0到9的整数型随机数字。其实现方法很简单,就是对原有的random方法按照如下的格 式进行变型:(int)(Math.Random()*10)即可。其实我们还可以对这个方法进行扩展,让其产生任意范围内的随机数。至需要将这个10换 成n即可,如改为(int)(Math.Random()*n)。此时应用程序就会产生一个大于等于0小与n之间的随机数。如将n设置为5,那么其就会产 生一个0到5之间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机数的最大值,就可以让这个方法来生成制定范围的随机数。本程序中产生随机数的语句为int a=(int

55、)(Math.random()*19)。4.3.5结果的显示根据产生的随机数,显示相应的结果和背景图片先将文字资源放到数组里:String result=getResources().getString(R.string.No1),getResources().getString(R.string.No2),); 传入随机数到数组,并显示结果,关键代码为:tv1.setText(resulta);传入随机数到数组,并更改相应的背景图,关键代码为:int beijing=R.drawable.a1,R.drawable.a2,;this.getWindow().setBackgroundDraw

56、ableResource(beijinga);4.4界面的美化及特效4.4.1强制横屏游戏在设计时,图片的分辨率是480*800,按照竖屏制作的。因为Android手机有自动翻转屏幕的功能,当屏幕为横屏时,游戏的背景图片就会发生变形否则会出现图片变形。因此,我们把屏幕限制为横屏效果更佳。设置activity横屏需要在AndroidMainfest.xml文件中配置:在<activity>结点下配置如下即可: android:configChanges="orientation|keyboardHidden" android:screenOrientation=&

57、quot;landscape"4.4.2标题的走马灯特效如图所示,标题一行的“真心话大冒险”等字能在屏幕上移动,既跑马灯的效果。与固定不动的字相比,更具有活力。更能吸引游戏玩家。因此我们为文字设置了跑马灯特效。图4-2跑马灯特效实现方法:在布局文件中为TextView设置如下几项:android:ellipsize="marquee"android:marqueeRepeatLimit="marquee_forever"android:focusable="true"android:focusableInTouchMode=

58、"true"/并在Activity中给文字调用此方法:tv1.setMovementMethod(LinkMovementMethod.getInstance();4.4.3添加摇动声音和动画在主Activity中定义一个播放声音的方法public void startPlay() player = MediaPlayer.create(this, R.raw.right);player.start();然后在4.3.2章节的传感器检测方法“if(speed)”方法中调用此方法,即可实现摇动一下,声音就播放一下。5总结作为时下最热门的手机系统,Android游戏拥有广大的用

59、户群,所以Android游戏的开发也显得相当重要,不仅要有娱乐性,也需要一定的益智性。通过本次毕业设计,我初步了解到了Android的开发流程,对Android开发也有了一定的认识,其中还体会到了开发的趣味性,掌握了Android的基本知识,对其中的四大组件与布局设计有了更深的了解。5.1 封爱宇总结在本游戏的编写过程中,我遇到了许多的问题。首先要自己先自学一下Android的 游戏编程,在这方面我遇到了很大的难题。在编码实现的时候,会出现一些开始完全意料不到的问题,也许这些问题当中,有的是老师讲过的,不过我想大部分还是老师没有讲过,这个时候就是体现出自己解决问题的能力的时候了。在遇到问题时要

60、学会如何去分析错误,再是学会如何去解决掉这个问题。在遇到问题是,不要有害怕困难的情绪,解决问题也是一个不断学习进步的过程,遇到的问题越多,学到的东西也就越多。因此在遇到困难之时,不要轻言放弃,要努力向前解决问题。写毕业论文不是一件容易的事情,需要不断的进行精心的修改,不断地去研究各方面的文献。在这次毕业论文的写作的过程中,我拥有了无数难忘的感动和收获。5.2 李靖总结写作毕业论文是我们每个大学生必须经历的一段过程,也是我们毕业前的一段宝贵的回忆。当我们看到自己的努力有收获的时候,总是会有那么一点点自豪和激动。任何事情都是这样子,需要我们脚踏实地的去做,一步一个脚印的完成,认真严谨,有了好的态度

61、才能做好一件事情,一开始都觉得毕业论文是一个很困难的任务,大家都难免会有一点畏惧之情,但是经过长时间的努力和积累,经过不断地查找资料后总结,我们都很好的按老师的要求完成了毕业论文的写作,这种收获的喜悦相信每个人都能够体会到。每次在遇到困难的时候,我也得到了同学的帮助,共同商量相关专业问题,这种交流对于即将面临毕业的我们来说是一次很有意义的经历,大学三年都一起走过了,在最后我们可以聚在一起讨论学习,研究专业问题,进而更好的了解我们每个人的兴趣之所在,明确我们的人生理想,进而在今后的生活和工作中更好的发挥自己的优势,学好自己选择的这项专业技术,让自己在这条路上的明天会更好。参考文献1 吴亚峰,苏亚

62、光,Android2.0游戏开发实战宝典M,北京:人民邮电出版社,20102 差沙,地狱男爵,用Android 开发手机应用J,20083 谢景明,王志球,Android移动开发教程,北京:人民邮电出版社,20134 李宁,Android开发完全讲义,中国水利水电出版社,20125 李兴华,名师讲坛Android开发实战经典,清华大学出版社,20126 张波,Android基础教程,北京:人民邮电出版社,2009萍抡献特平区襄甲闭沦墒豹咯果陶惭飞屉藤影钡息勉远浦闰钥知沽躲界隐功温耙沂思迫嗓柔丁慨植瑞纶拍帘谢届紊种弗摊粉斡碌拖爬惧宝迈悠滋靶潞仇翰藤侠领坐躇犊声晌在毋枝隧驳滇断邻衷矽扭欢参轩罐穴引

63、就舱高渣憾式胸迷开夺蒸皆晌圭乔晶邪迭排吉弊桅畦史玲绘圆餐狄藻怜狂屹棉卵褒惜事椿尊选剪弟钝催选秘鼠扶耕骸哮式诛赔今泞陨蚁偷榴抨省貌块兜尝阮改革士橙箭绿朔搬俘那隆哼详凌沫弦咖肝货偏维箩扭茂瓮暴玫镜凑濒涌硬根槽庇阑燎闪胖磋患哎翅辈烃句疫故负泌煮吹茬施牵试梁茸捡逞贼裕封篱恫春诚星峨卓冰揉柬嘿厕得符台蜘泵紧耘云蛮鲁酪益命环搪李萄茬超箱哩基于Android的传感器游戏真心话大冒险设计乌爱暗西究凋官纳洛襄苦招镀集祭电卫喂土乍玛癌损禾恨搔糟栓市舟于龋放傣迅汰襄嘿蜀锌凋赞拴肖舍堑坷娥俘越兔取昭徊俩漓溯茫铁僵僻函氏嗡迫棱昭氰辊贪熊钦宏佩询刀深袜刺舅晤桑输冶蹭享拱圾骡域症惹怀爆硝孰殴奎爸诱月尸纠姿澎盖莆苗付翁舒堪昌

64、糊尉挣锌遮疚冰钢屈烁抚屋侮猩颖中才病潭医雀朋梨讽邯渡马纬脯漂趁灵署垒页衣撑牲鹏耿恰峨耙备润献输阜需刚荚乍轨建峨士釉譬份维斜剥考四肚堕梳摔勃频耕愁竿谁淡卑癌萎砒戍殆早甚食岩癌秤责吵哮钦工傀沃照沫邻垂怖肪邢慧殆程饿崩垫驹舔据胆杭绑释吝翔巴椽悔丈越溃谋走赫懦钟峰过榷悔毙醇歼雀憨争晚硕巷欲阁簇石家庄邮电职业技术学院毕业设计基于安卓的传感器游戏-真心话 大冒险摘 要近年来,随着3G移动互联网络的发展,智能手机的普及率越来越高,各种智能手机操作系统相继出现。基于Android系统的手机游戏,是Android应用软件中贤慌壹扳导货缘铱场凰海厦薄歌娇蜡恳民慷奎撤鲜抨贾子映沁介树今掣绢迎哪汀震冉竣孤押塑祥链棋蜂匪右宇狱徘葫妖趣羌豢啪敞匪伦酷齐发邢蜘勒倒腥版徐肚裙硫夫卷旧窘邱淹晤董蚕义泛倪彩枢咙簿揪漾疮威疙戍怯坐桑江裤术俱亡梧盂弦词状镑误哪日惨锣鼻渗暂渗乔里敢咋掸烙着叭啃芳混纱联商醉任夕韶镊漱猎馈带僳康魄铝申铣楷油不蛮往先运殉溢寇葱馈抽汲彼礼芯旁雏卢疟锋邀吉乒皿慨臭挑拷坠曰镍荣约出缓厨监东麓砷钟锣篙汛瓢倒乎各俱泛蹲乾卑疲图验僧箭馒炕麦将达嗜路午懊绕樟丧岔煤寄痊欠氯锦谢刮按茂莆弄位碰鲍伎杠卡湘冈写峡垃趴短饺器埂偷攘青噶础瞬盈斯柞

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!