【Android论文栏目提醒】:以下是网学会员为您推荐的Android论文-基于Android系统的贪食蛇游戏设计【毕业论文,绝对精品】 - 毕业设计,希望本篇文章对您学习有所帮助。
贵阳学院本科毕业设计 基于
Android 平台的“贪食蛇”游戏的作 者:院 系: 计算机科学系专 业: 软 件 工 程年 级: 2007 级学 号: 071111402017指导教师: 摘 要 Google 公司 2007 年 11 月 5 日发布的开源的
Android 平台 —— 一款包括操作系统(基于 Linux 内核)、中间件和关键应用的手机平台,并组建了开放手机联盟Open Handset Alliance包括 Google、中国移动、T-Mobile、宏达电、高通、摩托罗拉等领军企业。
本课题是利用 java 语言在
Android 平台上进行手机游戏的开发,由于本人知识的有限,以及客观条件的限制,本人打算开发一个单机版的游戏。
本人在手机上玩过贪吃蛇的游戏,曾经为了和别人比赛,苦苦的玩了好多次,追求高分!后来得知这个小小的游戏是 nokia 当年很成功的一款手机游戏,许多人都玩过,也很喜欢。
现在这款游戏的版本已经发展到第三版了,手机生产厂商继续开发这个游戏,看来这个游戏还是有很大的市场的。
于是,我决定利用自己大学所学的知识,自己在指导老师的帮助下,独立开发这个小游戏。
本文首先详细介绍了 java 的一些基本的知识点,在此基础上引出了
Android,介绍了
Android 的基础以及其特点,然后介绍了一下
Android 将来的一些前景和发展。
重点说明了这个贪吃蛇程序所用到的一些类和控件,包括 DrawableCanvasThread等等。
介绍了这些类的一般的使用方法,以及本程序是如何使用这些类来进行游戏的开发的。
关键词:
Android 系统 贪食蛇游戏目 录 第一章 导论 随着移动通信的发展以及互联网向移动终端的普及,网络和用户对移动终端的要求越来越高,而 Symbian,Windows Mobile,PalmOS 等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开放性很强的平台。
经过多年的发展,第三代数字通信3G技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。
随着 3G 网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
Google 为此于 2007 年 11 月推出了一个专为移动设备设计的软件平台——
Android。
Android 是一套真正意义上的开放性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
Android 是由 LinuxJava 构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android 平台的开放性等特点既能促进技术包括平台自身的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力。
1.1
Android 简介1.1.1
Android 的发展
Android 一词本意是指quot机器人quot,同时也指 Google 于 2007 年 11 月 5 日推出的开源手机操作系统。
Android 基于 Linux 平台,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
它是由一个由 30 多家科技公司和手机公司组成的开放手机联盟共同研发,将大大降低新型手机设备的研发成本,完全整合的全移动功能性产品成为quot开放手机联盟quot的最终目标。
Android 作为谷歌移动互联网战略的重要组成部分,将进一步推进quot随时随地为每个人提供信息quot这一企业目标的实现。
全球为数众多的移动电话用户从未使用过任何基
Android 的电话。
谷歌的目标是让移动通讯不依赖于设备,甚至是平台。
出于这个目的,
Android 将完善,而不是会替代谷歌长期以来推行的移动发展战略:通过与全球各地的手机制造商和移动运营商成为合作伙伴,开发既实用又有吸引力的移动服务,并推广这些产品。
Android 平台的研发队伍阵容强大,包括 Google、HTC(宏达电)、T-Mobile、高通、摩托罗拉、三星、LG 以及中国移动在内的 30 多家企业都将基于该平台开发手机的新型业务,应用之间的通用性和互联性将在最大程度上得到保持。
quot开放手机联盟quot表示,
Android 平台可以促使移动设备的创新,让用户体验到最优越的移动服务。
同时,开发商也将得到一个新的开放级别,更方便地进行协同合作,从而保障新型移动设备的研发速度。
因此
Android 是第一个完整、开放、免费的手机平台。
1.1.2
Android 系统的特点
Android 系统具有如下 4 个特点:一、开放性 Google 与开放手机联盟合作开发了
Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。
Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
二、应用程序无界限
Android 上的应用程序可以通过标准 API 访问核心移动设备功能。
通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。
应用程序是在平等的条件下创建的,所以移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件;应用程序可以轻松地嵌入 HTML、Javascript 和样式表。
应用程序可以通过 WebView 显示网络内容。
三、应用程序可以并行运行
Android 是一种完整的多任务环境,其中应用程序可以并行运行。
在后台运行时,应用程序可以生成通知以引起注意。
四、智能虚拟键盘 虚拟键盘的出现意味着基于
Android 1.5 的移动设备可以同时支持物理键盘和虚拟键盘。
不同的输入方式可满足用户在特定场景的需求。
Android 虚拟键盘可以在任何的应用中提供,包括 Gmail、浏览器、SMS,当然也包括大量的第三方应用。
它包括自动校正、推荐、习惯文字的用户词典。
你可以通过振动屏幕来进行触觉反馈。
不同于竞争对手的手机平台,
Android 1.5 还支持第三方虚拟键盘应用的安装。
1.1.3
Android 的系统架构
Android 的系统架构如图 1-1 所示: 图 1-1
Android 系统架构图 从图 1.0 可以看出
Android 分为 4 层,从高到底分别是应用层、应用框架层、系统运行库层和 linux 核心层。
应用层 应用层是用 Java 语言编写的运行在虚拟机上的程序,即图中最上层的蓝色部分。
我们编写的所有应用软件都属于应用层。
应用框架层 这一层即是编写 Google 发布的核心应用时所使用的 API 框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设计,但是必须遵守其框架的开发原则。
系统运行库(C/C库以及
Android 运行库)层 当我们使用
Android 应用框架时,
Android 系统会通过一些 C/C库来支持对我们使用的各个组件,使其能更好地为开发者服务。
Linux 内核层
Android 的核心系统服务基于 Linux2.6 内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于 Linux2.6 内核。
Linux 内核同时也作为硬件和软件栈之间的抽象层。
1.2 项目简介 本项目在
Android 平台下,使用 java 语言、
Android 开发技术、SQLite 数据库开发技术开发一款界面友好,功能齐全的贪食蛇游戏。
贪食蛇是一款老牌的手机游戏,同时也是一款比较需要耐心的游戏,用游戏控制方向键上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,更不能咬自己的尾巴,当蛇头碰到墙或者自己的身体则游戏结束。
1.3 项目背景与意义1.3.1 开发背景 自 2007 年 Google 发布
Android 系统 1.0 之后,各大手机生产厂商纷纷将目光投向了最具发展潜力的
Android 系统,并陆续推出了各种品牌的搭载
Android系统的智能手机。
时隔四年,
Android 手机在手机市场中占的市场份额正以非常迅猛的速度上升:2010 年市场份额:Symbian 36.6、
Android 25.5、iPhone 16.7、windows Mobile2.8、linux 2.1 。
Nokia 的 Symbian 系统在
Android 系统的冲击下,正在从手机市场中的王者慢慢被挤下来。
在未来的几年内,
Android 手机必定会占据手机市场的主要份额,所以在这种形式下,
Android 应用的前景也必定是前景一片大好。
1.3.2 开发意义 现如今,电子商品的硬件支持越来越高端。
人们对手机的功能要求不再仅仅局限于接电话和打电话了,在这些基本功能的基础上,手机更成了人们日常生活中非常重要的娱乐和休闲工具。
许多时候人们都会处于无聊的状态,比如等车的时候、坐长途车的时候...这时若有一款有意思的游戏来打发时间是再好不过了。
由于
android 手机具有多任务功能,可以一边听音乐一边玩游戏,是让人们在等车的时候玩上一玩消磨时间的好东东。
1.4 国内外现状分析1.4.1 国内外手机系统现状 目前国外各软硬件厂商已经推出过多款手机操作系统。
下面简单介绍一下现主流手机操作系统。
现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的 Symbian 操作系统。
Symbian 是为手机而设计的操作系统,它是一个实时性,多任务的纯 32 位嵌入式的操作系统,具有低能耗,内存占用较少等特点。
现在流行的 Symbian 系统有以下四个版本,分别为 S40、S60第二版)、S60(第三版)、S60(第五版)。
S60(第五版)为触摸屏手机版本。
iOS 是由苹果公司为 iPhone 开发的操作系统。
它主要是给 iPhone、iPod touch以及 iPad 使用。
就像其基于的 Mac OS X 操作系统一样,它也是以 Darwin 为基础的。
iOS 的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层 , (the Core Services layer) 媒体层 , (the Media layer) 可轻触层(the CocoaTouch layer)。
系统操作占用大概 240MB 的存储器空间 Windows Mobile 系列操作系统是从微软计算机的 Windows 操作系统演化而来的。
Windows Mobile 系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置如内存、储存卡容量等上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。
PalmOS 属于 Palm 公司开发,是一种 32 位的嵌入式操作系统,是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。
现在多用 Paml 公司生产的手机上。
该系统允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩。
Palm 系统与其他手机系统相比在其它方面也还存在一些不足,如 Palm 操作系统本身不具有录音、MP3 播放功能等,但是可以通过加入第三方软件或硬件设备来实现。
相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。
目前国内还没有自主研发并商品化的手机操作系统。
当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。
同时也取得了一定成果。
在 2009 年 8 月,由中国移动所主导开发 OPhone 平台面世。
OPhone 平台采用开源的 Linux 作为系统内核,借鉴并兼容
Android 平台,集成灵活高效的 Java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。
1.4.2 国内外手机应用现状 随着 3G 在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。
但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为 EDGE 这种传输速度仅能达到 384KB/秒的 2.75G 过渡技术而欣喜的时候,国外早已开始试行 HSDPA 这种 3.5G 技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。
但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。
目前国内外手机应用服务方向主要有基于地理位置的信息服务( LocationBased Service LBS)它是通过电信移动运营商的无线电通讯网络如 GSM 网、CDMA 网或外部定位方式如 GPS获取移动终端用户的位置信息地理坐标,或 在大地坐标, GISGeographic Information System,地理信息系统平台的支持下,为用户提供相应服务的一种增值业务。
例如手机定位,导航服务。
近年来十分热门的网络社交服务(Social Networking Services)也已进入到手机客户端领域。
例如国内有名的社交网站人人网已经针对 Iphone,
android,塞班等手机平台推出了手机客户端。
国外最大的社交 Fackbook 也已经传出正在进行针对手机的产品的研发。
TwiterMyspace 等国外知名社交类网站都已经推出手机版。
国内淘宝网旗下口碑网在今年也已经推出针对多个手机平台的客户端程序。
MSN,QQ 等即时通信类的应用也已经在各个主流手机平台推出。
手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在
android 平台上的 QuickOffice 就是这样的软件。
在 Google Market(一个谷歌针对
android 系统用户所开发的应用商场)上已经有过万的企业应用办公套件。
手机娱乐游戏类应用,该类应用作为传统类手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。
各类传统 PC 游戏厂商进入手机领域。
1.4.3 发展趋势 随着 3G 应用的不断开发推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地无缝利用 3G 网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。
根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。
首先,提供智能提醒服务,手机能够与用户实现密切配合,并监控用户的个 ,当重要时间点或关键事物需要用户注意时,性化设置(保持在本地或者云端)手机会向用户发出“提醒”服务,服务包括日程提醒、交通状况、最佳行车路线、最佳泊位、优惠活动、实时新闻、体育赛事、天气情况、股市行情、好友活动、亲友生日等。
其次,提供虚拟现实体验,手机可以借助传感器、周边设备了解到您的身边环境,并根据收集到的信息,智能的为您提供有用的信息,如在网络世界养的宠物,可以借助音频设备表达叫声,借助马达和位置传感器等传递其跳、跃等行为信息;也可以在用户购物时,提供相关的同类产品价格参考,提醒用户附近的那个卖场更物美价廉;根据实际场景,为用户及时提供正在操控的产品的使用方法提醒。
接着,发挥物联网的优势,借助无处不在的传感器,可以感知并分享到周围世界的海量信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气息信息、交通路况。
另外借助物联网,用户间可以方便、快速的分享资源,协助和交互。
如进行端到端的多人游戏、照片分享、书籍分享、音乐分享等。
然后,作为经济工具,在交通或者信息不发达的情况下,帮助用户找到最佳的市场,获得有价值的帮助信息,帮助用户从事的经济活动的收益率。
最后,更加智能、安全的设备,随着智能手机的不断普及和更加智能,手机软件的更新、升级将会变得越发简单,并会为用户提供工具或信息,让用户有能力和权力决策那些内容可以浏览、下载或分享。
在安全性上也将更加出色,能够十分有效的帮助用户进行获取到的内容的管理,保护用户的个人隐私和基于手机的金融活动如电子钱包、在线支付、在线贸易等。
第二章 系统的开发方法及相关技术2.1 软件工程的定义 软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。
其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
软件工程是一门指导计算机软件开发和维护的工程学科。
2.2 软件工程的模型 软件工程的模型是软件开发全部过程、活动和任务的结构框架。
瀑布模型内容及特点: 瀑布模型将软件生存周期的各项活动规定为依固定顺序连接的软干阶段工作,是一种线性模型。
各阶段活动为,提出系统需求、提出软件需求、需求分析、设计、编码、测试和运行。
每个开发阶段具有以下特征,从上一阶段接受本阶段工作的对象作为输入,对上述输入实施本阶段的活动,给出本阶段的工作成果作为输出传入下一阶段,对本阶段工作进行评审,若本阶段工作得到确认,则继续下阶段工作,否则返回前一阶段甚至更前阶段。
瀑布模型最为突出的缺点是该模型缺乏灵活性。
演化模型内容及特点: 演化模型主要针对事先不能完整定义需求的软件开发,其开发过程一般是首先开发核心系统,当核心系统投入运行后,软件开发人员根据用户的反馈,实施开发的迭代过程,每一迭代过程均由需求、设计、编码、测试、集成等阶段组成,直到软件开发结束。
演化模型在一定程度上减少了软件开发活动的盲目性。
螺旋模型内容及特点: 它是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。
沿螺旋模型顺时针方向,依次表达了四个方面的活动,制定计划、风险分析、实施工程、客户评估。
喷泉模型内容及特点: 它体现了软件创建所固有的迭代和无间隙特征,喷泉模型主要用于支持面向对象开发过程。
增量模型内容: 在设计了软件系统整体体系结构之后,首先完整的开发系统的一个初始子集,继之,根据这一子集,建造一个更加精细的版本,如此不断的进行系统的增量开发。
瀑布模型、演化模型、螺旋模型之间的联系:相同点是这三个模型都分为多个阶段,而瀑布模型一次完成软件,演化模型分为多次完成,每次迭代完成软件的一个部分,螺旋模型也分为多次完成,每次完成软件的一个新原型,并考虑风险分析。
2.3 本项目的研究方法2.3.1 本项目采用的开发模型 本系统的开发严格遵守软件工程开发的标准流程。
实地考察,进行需求分析,书写需求分析表和初步的软件说明书。
在模块设计的同时进行单元测试,系统设计完成进行系统调试和系统集成测试。
设计完成后,编写完整的软件说明书和用户手册,最后还需写对自己所作设计的评价和总结。
经过对各个软件工程的模型的分析,我决定使用瀑布模型进行开发。
因为本系统的开发人员仅为我一人,非小组合作,在对各个阶段的交接上,只能按顺序进行,完成上一阶段后才能进行下一阶段的工作。
我的整个软件开发流程如图: 图 2.1 Androida 贪食蛇游戏开发流程2.3.2 本项目的开发方法 经过深入分析,本项目使用面向对象方式开发是比较好的开发方式。
面向对象的软件技术以对象Object为核心,用这种技术开发出的软件系统由对象组成。
对象是对现实世界实体的正确抽象,它是由描述内部状态表示静态属性的数据,以及可以对这些数据施加的操作表示对象的动态行为,封装在一起所构成的统一体。
对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。
面向对象的设计方法与传统的面向过程的方法有本质不同,这种方法的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。
它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分过程中都用应用领域的概念去思考。
在面向对象的设计方法中,计算机的观点是不重要的,现实世界的模型才是最重要的。
面向对象的软件开发过程从始至终都围绕着建立问题领域的对象模型来进行:对问题领域进行自然的分解,确定需要使用的对象和类,建立适当的类等级,在对象之间传递消息实现必要的联系,从而按照人们习惯的思维方式建立起问题领域的模型,模拟客观世界。
传统的软件开发过程可以用“瀑布”模型来描述,这种方法强调自顶向下按部就班地完成软件开发工作。
事实上,人们认识客观世界解决现实问题的过程,是一个渐进的过程,人的认识需要在继承以前的有关知识的基础上,经过多次反复才能逐步深化。
在人的认识深化过程中,既包括了从一般到特殊的演绎思维过程,也包括了从特殊到一般的归纳思维过程。
人在认识和解决复杂问题时使用的最强有力的思维工具是抽象,也就是在处理复杂对象时,为了达到某个分析目的集中研究对象的与此目的有关的实质,忽略该对象的那些与此目的无关的部分。
面向对象方法学的出发点和基本原则,就是分析、一个软件系统的方法和过程.尽可能接近人们认识世界解决问题的方法和过程,也就是使描述问题的问题空间和描述解法的解空间在结构上尽可能一致。
也可以说,面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。
面向对象的软件系统中广泛使用的对象,是对客观世界中实体的抽象,对象实际上是抽象数据类型的实例,提供了理想的数据抽象机制,同时又具有良好的过程抽象机制通过发消息使用公有成员函数。
对象类是对一组相似对象的抽象,类等级中.