【PHP开源代码栏目提醒】:网学会员在PHP开源代码频道为大家收集整理了“毕业设计(论文)-基于Android手机平台的引擎设计与分析 - 毕业设计“提供大家参考,希望对大家有所帮助!
目 录摘要....................................................................................................................................................... 1Abstract ............................................................................................................................................... 2 第一章 相关技术和可行性分析 .................................................................... 3 1.1 游戏引擎相关技术 .................................................................................................. 3 1.2 游戏引擎的可行性分析....................................................................................... 3 1.3 本章小结 ........................................................................................................................ 5 第二章 Android 架构及 OpenGL 详解 ........................................................ 6 2.1 Android 架构分析 .................................................................................................... 6 2.2 Android 应用的构成和工作机制 ................................................................... 9 2.3 Intent 的详细解析 .................................................................................................. 12 2.4 Android 活动的生命周期.................................................................................. 14 2.5 Android OpenGL 详解......................................................................................... 17 第三章 系统分析与设计 .................................................................................... 19 3.1 研究目标 ................................................................................................................... 19 3.2 需求分析 ................................................................................................................... 19 3.3 性能及准确性分析 ............................................................................................. 19 3.4 系统设计 ................................................................................................................... 19 第四章 系统详细设计及实现....................................................................... 21 4.1 文件结构 ................................................................................................................... 21 4.2 游戏主 Activity 及主画布 .............................................................................. 22 4.3 游戏对象 ................................................................................................................... 26 4.4 引擎辅助类.............................................................................................................. 34 4.5 样例游戏 ................................................................................................................... 36 第五章 引擎测试 ..................................................................................................... 38 5.1 主界面开发.............................................................................................................. 38 5.2 主菜单开发.............................................................................................................. 38 5.3 主游戏界面开发................................................................................................... 40 5.4 游戏演示 ................................................................................................................... 43 第六章 总结 ................................................................................................................... 45 参考文献 ................................................................................................................................... 46 外文翻译 中文翻译 致谢 1 摘 要 随着智能手机一步步走进普通人的生活, 它慢慢的成为了大家获取信息的主要设备。
因此,手机的娱乐应用服务将会有很大的发展空间,迷你游戏引擎就是其中的一项。
Android 平台提供给用户非常方便好用的 API,这为迷你游戏引擎提供了很好的平台。
另外,Android 平台基本上是免费的,所以能够有效降低软件的成本, 最终让每个用户能够自由地获取信息,也为迷你游戏引擎的普及应用奠定了基础。
迷你游戏引擎的主要作用就是根据用户的设定辅助生成一些 JAVA
代码框架,用户只需要去实现对应的处理函数就可以完成自己设计的游戏。
这样就可以合理重复利用已经编写好的游戏
代码, 做到保证游戏质量的同时尽力提高开发速度。
本文简单描述了我设计的 Android 手机游戏引擎的基本功能,同时对开发这样一个引擎的可行性做了技术和市场方面的分析。
在这些分析和设计的基础上,对整个开发流程做了初步的计划,归纳了可能用到的设计模式和基本类结构。
通过本文,让读者对 Android 手机游戏引擎这个项目有一个概念上较为清楚的认识,同时也对于项目组的开发工作具有积极的导向作用。
关键词:智能手机;android;娱乐;引擎 2 Abstract With the Mobile Phone enters into the live step by step,it will become the maindevice to obtain information. Services of mobile Phone will have great developmentspace Mini Game Engine is one of them. Android platform offers users veryconvenient functions This will be for constellation inquires the design andimplementation of service provides a better platform. In addition Android platform isbasically free so can effectively reduce the software costs Finally let each user willbe free to get information Also for the popularization of mobile phone Mini GameEngine the service contribution. The main function of this Android mobile game engine is assisting theprogrammers to generate some Android game’s frameworks according to theparameters that they set. The only thing that users have to do is accomplishing thehandling functions to finish their games. So that the programmer can reasonably reusethe codes which have been written and program quickly as well as make sure the highquality. The paper mainly describes the basic functions of a common J2ME mobilegame engine. And finish the feasibility analysis for developping this engine. On thebasis of the analysis and the design I make a primary plan of the develop processconclude the design pattern and class structure that will be used in the project.Through this paper I want to make the reader have a clear awareness of the J2MEmobile game engine. To the programmers it can guide them to develop the engine.Key words:Intelligent mobile phones Android Entertainment engine 3 第一章 相关技术和可行性分析1.1 游戏引擎相关技术 开发这样一个 Android 手机游戏引擎需要的技术要求很多,下面从编程语言技术要求、开发环境要求、Android 游戏技术要求和其他方面来分析所需技术。
1.1.1 编程语言技术要求 JAVA 这门面向对象的编程语言,由于它和 Android 的紧密相关性而被选择来作为 Android 手机游戏引擎的开发语言。
因此,开发者应当对 JAVA 语言的语法和图形界面开发足够熟悉并要有一定的项目经验, 对面向对象的分析、设计和编程有足够的认识和了解。
可以合理地利用设计模式来增加引擎程序和生成
代码程序的可扩展性,利用 JAVA 的某些特性来解决遇到的一些实际问题。
1.1.2 开发环境技术要求 本引擎计划采用 IBM 公司的 eclipse Indigo 或者更高版本来开发,因此开发人员应当对这个 IDE 开发环境足够熟悉,最好有一些项目经验。
1.1.3 Android 游戏技术要求 本引擎的基本功能就是编写一个能够为用户提供游戏开发所需要的 API, 因此,引擎开发者应当对 Android 手机游戏的基本结构有比较深的认识,必须有至少一个 Android 手机游戏的开发经验。
这样才能保证引擎自动生成的
代码的正确性和简洁性。
1.1.4 其他要求 这样一个引擎的开发需要具有创新性, 即可以想到利于用户使用的功能和操作方式,同时方便产生 Android 应用程序的
代码。
这样开发出来的产品既方便我们使用,同时也更具有销售市场。
由于这个项目比较大,因此开发人员需要具有一些项目的开发经验和软件工程的基本知识,同时对于文档的编写也要认真详细。
项目负责人应该有管理项目的经验,可以合理把握项目进度,预测隐藏的危机和风险。
团队合作对于一个项目组来说也很重要,组员应当具有团队合作的意识、 互相交流的能力。
1.2 游戏引擎的可行性分析 游戏引擎的可行性分析主要从技术可行性和市场可行性这样两个方面来论述。
1.2.1 技术可行性 上文已经分析了开发这样一个 Android 手机游戏引擎所需要的各种技术,那么对于现在的 Android 手机游戏开发小组来说, 开发这样一个引擎技术上是可行的。
4 首先,JAVA 语言是软件学院的教学课程之一,组员都学习并使用过。
大家 再次,对于 Android 手机游戏的结构和可以重复使用的
代码模块都有清楚的认识;开发中所需的某些设计模式和技术在已完成的游戏和平常其他项目的开发中都有所使用,因此比较熟悉;最后,经历过游戏项目的磨练,组员的团队合作意识和交流能力都有很大提高,对于一个项目的文档和管理工作负责人也很清楚。
综上可见, 在技术方面,我们已经具备了开发这样一个手机游戏引擎的成熟条件。
对于其他开发中碰到的比较生疏的技术问题,相信凭借大家共同的努力和互联网丰富的资料,都是可以解决的。
1.2.2 市场可行性 这样一个项目首先的主要用途是辅助小组开发手机游戏, 因此商业用途不是首先要考虑的问题,市场可行性也就显得不如技术可行性那么重要。
但是,作为一个项目,如果能够将产品成功推入市场,对于我们来说也是一个挑战。
首先面对的一个问题是市场是否需要这样的 Android 手机游戏引擎。
由于时间和能力有限,我没有对这一问题做详细的市场调查,但是,从现在的情况来看,Android 手机游戏的开发者越来越多,而国内外还没有类似的成熟产品推出,这在市场上是一个空白。
可以推测,如果本引擎能够为用户提供方便的操作,生成高效的
代码,它的市场前景是广阔而乐观的。
1.3 本章小结 本章首先对开发 Android 手机游戏引擎所需要的相关技术从多个方面进行了论述,然后基于这些所需的技术结合俱乐部现今的具体情况对其可行性进行了技术和市场两个方面的分析,得出开发这样一个游戏引擎是可行的结论。
5 2 Android 架构及 OpenGL 详解2.1 Android 架构分析 Android 是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。
由下而上,其核心为嵌入式 Linux2.6 作业系统,向上搭配 Google 为Android 开发的类库及 Android 运行时,再配合应用程序架构,来开发各种不同的应用程序。
2.1.1 Android 的功能特征 l应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用, 可以节省开发应用程序的心力及时间。
2Dalvik 虚拟机器:在 Android 平台上所使用 Java 虚拟机,不是 Sun 公司的标准 Java 虚拟机,而是使用 Google 自主开发的代号为 Dalvik 的虚拟机,它在保证 API 方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
3集成的浏览器:集成的浏览器是 Android 内建的浏览器, 是以 WebKit 的浏览引擎为基础所开发成的。
WedKit 是一个
开源浏览器网页排版引擎,目前使用WebKit 引擎的浏览器主要有:Safari,Midori,Epiphany 等。
配合 Android 手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放网页上的资讯、触控式的操作等效果。
4优化的绘图能力:在程序里可以用到的绘图功能分为 2D 与 3D 两个方面。
在 2D 方面,Android 提供了一套特有的类库SGL而在 3D 方面则是使用OpenGLES1.0openGL for Embedded systems规范的类库。
它们是一种非常快的图形引擎,并且支持硬件加速。
5SQLite 数据库:SQLite 提供结构化的数据存取。
SQLite 是一款轻型的数据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。
它能够支持 Windows/Linux/U nix 等主流的操作系统,同时能够跟很多程序语言相结合,比如
php,Java 等,还有 ODBC 接口,同样比起 Mysql,PostgreSQL 来讲,它的处理速度比它们都快。
它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有 250KB 但支持数据库大小至 2TB。
它虽然很小巧,但是支持的 SQL 语句毫不逊色于其它
开源数据库。
同时它还支持事务功能和并发处理等等。
SQLite 也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。
6多媒体的支持能力:主要用于播放媒体文件。
这同时包括对音频如播放MP3 或其他音乐文件等和视频如播放从网上下载的视频的支持,并支持“播放 URI 地址” Note:URI 即是统一资源识别地址模式—在网络上直接播放的流媒体。
另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF 等格式。
7GSM 技术:Global System for Mobile Communications,即全球移动通讯系统,俗称”全球通” ,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术, 其开发目的是让全球各地可以共同使用一个移动电话网络标准, 让用户 6使用一部手机就能行遍全球。
GSM 技术是属于手机硬件方面的展现,也是在开发 Android 应用程序时可以突出的特点之一。
8蓝牙、EDGE、3G 及 Wi-Fi:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。
EDGEEnhanced Data Rate for GSM,Evolution,即增强型数据速率 GSM 演进技术。
EDGE 是一种从 GSM 到 3G 的过渡技术,它主要是在 GSM 系统中采用了一种新的调制方法,即最先进的多时隙操作和 SPSK 调制技术。
由于 8PSK 可将现有 GSM 网络采用的 GMSK 调制技术的信号空间从 2 扩展到 8, 从而使每个符号所包含的信息是原来的 4 倍。
Wi-FiWirelessFidelity,即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。
该技术使用的是2.4GHz 附近的频段,该频段目前尚属没用许可的无线频段。
其目前可使用的标准有两个,分别是 IEEE802.lla 和 IEEE802.11b。
这些通讯能力也是属于手机硬件方面的展现,也是在开发 Android 应用程序时可以突出的特点之一。
9GPS: Global Positioning System,即全球定位系统,它是一个由覆盖全球的 24 颗卫星组成的卫星系统。
这个系统可以保证在任意时刻和任何地点都可以同时观测到 4 颗卫星,以保证卫星可以采集到该观测点的经纬度和高度, 以便实现导航、定位、授时等功能。
这项技术可以用来引导飞机、船舶、车辆以及个人。
这个同样也是属于手机硬体方面的体现, 也是在开发 Android 应用程序是可以突出的特点之一。
2.1.2 应用程序框架 图 2-1 显示的是 Android 架构的五个主要部分。
在 Android SDK 中,定义了让开发者使用与核心应用程序相同 API 的权限应用程序框架是为了要简化组件的重新利用而设计的, 应用程序可以发布功能为其它应用程序所使用。
但是,这要受限于应用程序架构的安全机制,使用者以用同样的机制来新增、置换组件。
目前所有的应用程序是由服务及系统来组成,包含有: l一套强大和可扩展的视图系统:用来建构一个应用程序的基本组件,包了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web 浏览器。
7 图 2-1 Android 架构的五个部分 2内容提供者:使应用程序可以访问另一个应用程序的数据如联系人数库,或者共享它们自己的数据。
3资源管理器:提供各种非程序
代码的资源让应用程序去使用。
例如:本字符串、图形文件或排版相关的布局文件。
4通知管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息。
5活动管理器:管理所有应用程序的生命周期及提供常用的导航回退功能。
例如:启动应用程序要用到的资源准备及关闭应用程序时释放内存及相关资源等工作。
6视窗管理器:用来管理所有启动程序的视窗。
7位置管理器:用来管理地图服务的相关功能。
8电话管理器:用来管理用户拨打与接听电话的相关功能。
9包管理器:管理所有安装在 Android 系统内的包。
2.1.3 类库 在 Android 中包含一些 C/C的类库,这些类库能被 Android 系统中不同的组件来使用。
开发者可以通过应用程序框架使用这些功能。
部分核心类库列表如下: 1surface Manager:主要的功能是让开发者可以去存取/显示系统及管理的功能,在显示与存取操作间的对应、互动以及实现无接缝的 2D/3D 多应用程序之间的整合。
例如:在 2D、2D 显示上的合成、叠合动作。
23Dlibraries:主要是依 openGLES1.0 规范所定义的 3D 绘图引擎。
该库使用硬件加速当硬件可用时,可以将硬件的 3D 功能做最佳化的处理显示。
8 3SGL:主要是处理有关显示 2D 方面的绘图引擎。
4Media Frame work:主要是以 packetVideo 公司的 OpenCORE 为基础所发展的多媒体类库,该库支持回放和录制大量流行的音视频格式和静态图片。
例如:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF 等格式 5Free Type:主要是用来显示点阵图和处理向量字形的。
6SSL:secureSocketsuyer,中文名为“安全套接层协议层” ,它是网景公司提出的基于 WEB 应用的安全协议,当前版本为 3.0。
SSL 协议指定了一种在应用程序协议如 HTTP、 Telenet、NMTP 和 FTP 等和 TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
它已被广泛地用于 Web 浏览器与服务器之间的身份认证和加密数据传输。
SSL 协议位于 TCP 胆协议与各种应用层协议之间,为数据通讯提供安全支持。
SSL 协议可分为两层:SSL 记录协议SSL Record Proto col:它建立在可靠的传输协议如 TCP之上,为高层协议提供数据封装、压缩.
上一篇:
毕业设计(论文)
下一篇:
多年来只想说一句,我不怪你