毕业设计(论文)-基于Android的五子棋游戏的设计与实现_第1页
毕业设计(论文)-基于Android的五子棋游戏的设计与实现_第2页
毕业设计(论文)-基于Android的五子棋游戏的设计与实现_第3页
毕业设计(论文)-基于Android的五子棋游戏的设计与实现_第4页
毕业设计(论文)-基于Android的五子棋游戏的设计与实现_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类号_ 密级_ UDC _ 学号 毕业设计(论文)学生姓名学 号所 在 院 系专 业 班 级导师姓名职称完成日期论文题目基于Android的五子棋游戏的设计与实现Thesis TopicThedesignandimplementation of the Gobang based on Android基于安卓的五子棋游戏的设计与实现摘 要五子棋,是一种由两人进行对弈的一种纯策略型的棋类游戏,棋具与围棋通用。亦被人们称为“串珠”、“京棋”等,是流传于中国民间的人们耳熟能详的一个古老棋种。通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连线者获胜。移动互联网时代的到来极大的改变了我们的生活,而Android是一种以Linux为基础的开放源码操作系统迅速占领了智能机操作系统,所以在android环境下开发显得尤为必要。本文主要讲的是用Eclipse开发工具与Android平台开发的一个直观大方的自定义界面的带部分AI功能的原生安卓五子棋游戏,游戏程序实现人机对弈和人人对弈,自动智能计算最佳落子位置,而且程序还能够自动的判定游戏结束与否以及游戏的获胜方,实现游戏双方顺利进行博弈。关键词:Eclipse 游戏 安卓 人机对弈 五子棋全套设计加扣 3346389411或3012250582Thedesignandimplementation of the Gobang based on AndroidAbstractGobang is a two-type board game of pure strategy,Chess can be used in the game of go.Also known as beads and Five In A Row;even five sons.It is an ancient chess game that is familiar to Chinese folk.Usually, both sides of athletes use black or white chess pieces, and let them at the intersection of the chessboard line and the horizontal line, the winner is who let his chess pieces become five in a line first.The arrival of the mobile Internet era has greatly changed our lives, and Android is a Linux-based open source operating system quickly occupied the intelligent machine operating system, so in the android environment development is particularly necessary.This article is primarily concerned with the Eclipse development tools and java programming language developed an intuitive interface and generous custom backgammon game, chess games and everyone to achieve human-computer chess, the program can automatically determine the winner the game and the game the end or not, the two sides to achieve Battle Game.Key words: Eclipse Games Android Man-machine chess Gobang目录摘 要1Abstract21 绪论11.1 软件的研究背景及意义21.1.1 Android移动开发的现状分析31.1.2 Android游戏开发现状41.1.3 手机端五子棋游戏分析41.2 开发的主要内容与目标52 关键技术介绍62.1 Android系统介绍62.1.1 Android基本框架62.1.2 Android Features特性82.1.3 安全权限机制92.1.4 Android系统的四大组件92.1.5 Android手机自带的aqlite轻量级数据库102.2 开发工具Eclipse的介绍112.2.1 Eclipse的简介112.2.2 Eclipse的功能和优势112.3 Android开发平台的搭建112.3.1 JDK的安装112.3.2 Eclipse安装122.3.3 Android SDK的安装122.3.4 为Eclipse安装ADT插件132.3.5 配置Android虚拟设备(AVD)132.3.6 开发环境143 需求分析与可行性分析153.1 游戏需求分析153.1.1 功能需求分析153.1.2 性能需求分析163.1.3 其他需求分析163.2 游戏可行性分析163.2.1 技术可行性分析163.2.2 经济可行性分析163.2.3 硬件可行性分析163.2.4 市场可行性分析173.2.5 法律可行性分析174 概要设计184.1 系统总体设计184.2 游戏运行流程设计184.3 游戏用例设计194.4 控制模块设计204.5 显示模块设计215 详细设计225.1 菜单功能设计225.2 界面的绘制235.2.1 棋盘的绘制235.2.2 棋子的绘制245.3 游戏核心功能设计255.3.1 游戏欢迎页面设计255.3.2 游戏主页面设计255.3.3 退出游戏功能的实现265.3.4 人人对战页面设计275.3.5 人机对战页面设计306 程序测试346.1 测试介绍346.1.1 测试的重要性及目标346.1.2 测试的步骤356.1.3 测试的主要内容356.2 程序的测试366.2.1 测试内容366.2.2 测试记录36结束语44参考文献45致 谢46外文原文47中文翻译5841 绪论近年来,伴随着科学技术水准的提升和社会现代化进程的加快,电子信息设备的现代化程度已经有了飞跃性的发展,几乎每三到五年就会产生一次大规模的更新换代。在上世纪末以及二十一世纪初,以电子计算机为主的设备占据了主要市场。但随着材料技术以及信息技术取得的突破性进展,电子信息设备不断朝着小型化的方面发展。手机作为一种携带方便、体积小、功能齐全、价格适宜各个人群的设备,越来越受到人们的青睐,更是取代了电子计算机的主体地位。在使用人数的数量上看,使用手机的人数已远远大于使用电脑的人数。而且在数量庞大的的手机使用者中,选用智能手机的人数在其中所占据的比例逐年提升,已经成为主要的不可分割的一部分。就个人而言,同时拥有智能手机和电脑的用户更多时间使用的是手机而不是电脑。尤其是近年来,4G技术与Wifi技术的提高已经达到了很好的水准,通过手机,我们也可以轻易的得到较快的上网速度同时不会产生大量花费,而且可以随时随地得到自己想要的信息,便利程度远远胜过电脑,深刻地进入了人们的生活之中。因此移动互联网络将在社会发展的引导下成为一个具有强大潜力和无限前景的新型板块。我们先来简单的分析一下智能手机。简单的说,智能手机,就是一部像电脑一样可以通过下载安装软件来拓展手机出厂的基本功能的手机。“智能手机(Smart Phone)”这个说法主要是针对“功能手机(Feature phone)”而来的,本身并不意味着这个手机有多“智能(Smart)”;从另一个角度来讲,所谓的“智能手机(Smart Phone)”就是一台可以随意安装和卸载应用软件的手机(就像电脑那样)。“功能手机(Feature phone)”是不能随意安装卸载软件的,JAVA的出现使后来的部分“功能手机(Feature phone)”具备了安装JAVA应用程序的功能,但是在手机端的硬件配置下,JAVA程序的操作友好性,运行效率及对系统资源的操作都比“智能手机(Smart Phone)”差很多。从广义上说,智能手机除了具备手机的通话功能外,还具备了PDA的大部分功能,特别是个人信息管理以及基于无线数据通信的浏览器和电子邮件功能。智能手机为用户提供了足够的屏幕尺寸和带宽,既方便随身携带,又为软件运行和内容服务提供了广阔的舞台,很多增值业务可以就此展开,如:股票、新闻、天气、交通、商品、应用程序下载、音乐图片下载等等。结合3G通信网络的的支持,智能手机的发展趋势,势必将成为一个功能强大,集通话、短信、网络接入、影视娱乐为一体的综合性个人手持终端设备。根据我的分析,智能手机拥有六种不同的特点,这就是其能够占据市场的主要原因。具体的内容如下:具备了无线接入互联网的能力,即需要支持GSM网络下的GPRS或者CDMA网络的CDMA1X或3G(WCDMA、CDMA-2000、TD-CDMA)网络,甚至4G(HSPA+、FDD-LTE、TDD-LTE)。人们能够按照自己的需求和喜好对智能手机的性能及用处进行一定的调整。智能手机的控制及使用系统在更新以及应用软件程序等方面体现出一定的开放性,这意味着其使用的适应范围和层面将得到极大延伸。具有PDA功能,其中包括个人信息管理、日程记事、任务安排、多媒体应用、浏览网页。1. 智能手机具有很强的整体性能以及能够满足人们日益增长的需求的延展能力,因为它可以支持很多非原厂家开发的程序和软件,从而丰富其内容。2. 运行速度快: 现代社会发展以来材料科学兴起,由于材料科学技术的快速发展,智能手机在核心处理器(CPU)方面有了更多更好的选择,因而其极限运行速度也得到了极大的提高。各种智能手机操作系统也相继出现,特别是iPhone智能手机和Android智能手机的问世,为掌上休闲游戏与应用提供了更完善的开发环境。Android操作系统作为Google公司为移动平台打造的开源操作系统,是最有发展潜力的智能手机操作系统1。智能手机的强大并不在于它的表面,而在于内在。智能操作系统功能的强大,才成就了智能手机风靡全球的现状。而截止2017年3月,在我国安卓市场份额到达了86.4%的程度。从2007年到之后的十余年,Google公司,这个当今互联网行业当之无愧的巨擘先是通过发明安卓系统进驻智能手机这一重点领域,继而推出了一系列符合人们需求的产品,进而以极快的速度得到了社会各界的认可和好评。安卓系统的出现时互联网领域的一个重磅炸弹,不仅带来了机遇,也带来了挑战。最被行业内人士看好的安卓系统的的游戏业务,因为该系统的内核具有开放性和免费性,能够节省很多程序和费用,从而获得人们的青睐。伴随着科学技术的发展以及各方面技术的一次次突破性的更新换代,手机已经从刚发明时的富人产品一步步走入了千家万户,而且其体积小,使用方便,功能齐全,保密能力较强,已经成为人们生活中不可分割的一部分。手机游戏在提高手机本身的附加值上,有着不可替代的作用,越是能符合人们需求的游戏,越能给厂家带来所期望的收益。游戏编程是手机软件编程的重要组成,同时也持续推动手机软件技术升级进步。具有世界最悠久历史的伟大祖国中国,是世界四大文明古国之一,在漫长的历史长河中,创造了灿烂的中国文化。中国特有的民族文化,是中华民族从古至今,屹立于世界民族之林,得以延续发展的精神支柱。其中,棋文化是构成中华民族文化的一部分,现今世界上流行最广泛的棋种大多起源于中国。当今,大有风靡全球之势的五子棋,就是起源于中国的黑白传统棋种之一。在当今社会,由于经济的快速发展,人们的生活节奏也越来越快,容易导致身心疲惫。而五子棋由于其规则简单,布局容易,随时可以开始,耗费时间短,同时能够活跃思维,放松心情,日益受到社会各界各种人群的青睐。我在论文中制作的是android手机版的五子棋游戏软件,操作简单,具有一定的趣味性,且占据的内存小,反应速度快,能够让人们在繁忙的工作之余获得一定的放松。 1.1 软件的研究背景及意义本文中设计与开发实现的是一款基于安卓操作系统的五子棋游戏。Android作为当前智能手机市场的主要占有者,发展态势十分火热,截止2017年3月,在我国安卓市场份额达到了86.4%的程度。五子棋作为中国传统棋类游戏,容易上手,老少皆宜,而且趣味横生,引人入胜;它不仅能使人娱乐,也能够开发人的智力,而且富含哲理,有助于修身养性2。再与最新的科技联系在一起,必将焕发新的活力。1.1.1 Android移动开发的现状分析安卓系统是我国目前只能手机使用的主要系统,其使用范围之广,远远超过了塞班系统和苹果公司的IOS系统。安卓历史版本如表1-1所示表1-1 安卓历史版本版本编号发布时间Android 1.0(没有开发代号)2008年9月23日Android 1.1 - Petit Four2009年2月2日Android 1.5 - Cupcake2009年4月17日Android 1.6 - Donut2009年9月15日Android 2.0/2.1 - clair2009年12月3日2010年1月12日Android 2.2 - Froyo2010年5月20日Android 2.3 - Gingerbread2010年12月6日Android 3.0/3.1/3.2 - Honeycomb2011年2月24日2011年5月10日2011年7月15日Android 4.0 - Ice Cream Sandwich2011年10月19日Android 4.1/4.2/4.3 - Jelly Bean2012年6月28日2012年11月23日2013年10月5日Android 4.4 - KitKat2013年9月3日Android 5.0/5.1 - Lollipop(Android L)2014年6月25日Android 6.0 - Marshmallow(Android M)2015年5月28日Android 7.0 -Nougat(Android N)2016年5月18日 Android 的操作系统是要在 Linux 2.6内核的基础上的,无论是防毒防入侵板块,还是其内在的管理部分,都在这种内核的控制之中。因此我们可以说,Android和Linux是来源于同一宗族,是具有血缘关系。因此安卓系统也能够具有高速、高效率、简便同时又安全等一系列性能。 依赖于上文所说的一系列性能,安卓系统在国内有着无语伦比的竞争力。据国家有关部门人士所说,安卓十分适应国内经济目前的发展环境。因为安卓系统软件开发在非技术方面所需要的成本极小,可以很大程度节约成本提高利润,又能达到较高的普及程度,对国内各个档次的企业公司尤其是中小型公司具有很强的吸引力。1.1.2 Android游戏开发现状 21世纪以来由于以电子信息技术为首的各方面技术蓬勃发展,手机已经成为人们生活中不可缺少的元素之一。手机不仅可以言语古老的通讯功能,并将以往复杂的过程变得简单,更能在闲暇之时给人们提供消遣。许多大型的手机系统开发商已经将手机游戏看做了一个巨大的商机,并开发出了手机游戏系统作为手机出厂时的常规配置。为了满足人们随时随地开始游戏的想法,一些手机软件的开发商将目光瞄准了手机游戏。并将这一想法称为Mobile Game或Wireless Game。通过这个,用户们可以便利地体验游戏胜过,同时促进消费。最近几年,手机游戏业务有了充分的成长,而作为游戏的载体,手机已经发展为现代使用最多的游戏以及通讯设备,占游戏娱乐设备总量的78.4%。在美国、日本等国家,手机游戏市场已经成为了国名生产总值一个重要的部分,且依旧有着迅猛的发展势头。同样在中国,手机游戏的规模呈直线上升,据游戏领域的相关权威机构分析,中国手机游戏用户已经占据了中国人口总量的40%左右,产生的直接和间接经济价值约192.3亿人民币。安卓系统由于其较高的游戏性能,一经开发就受到了各方面的看好。而当下手机技术的发展,使游戏具有了。可以媲美甚至超越电脑游戏的特性,在当今的手机游戏市场中占有主导地位。随着其不断地告诉发展,逐渐吸引了其他领域的注意,各领域纷纷投资进入手机游戏市场,分食这块大蛋糕,是的这个行业的发展更为迅速。1.1.3 手机端五子棋游戏分析五子棋的发明,体现了中华民族对智慧的追求,是中华民族逻辑思维和形象思维双翼齐飞的智慧结晶。五子棋规则简明,对弈场地、用具简单易行。棋道变化无穷,与几千年的中国古代文明交融。现代竞技连珠五子棋使凝集着古代精华的棋理进一步得到传承,成为东西方文化交互在一起的璀璨明星。国粹五子棋堪称我国古老文化的瑰宝,是祖国宝贵文化遗产的一部分,五子棋的发明是中国为人类文明做出的贡献。五子棋将科学、艺术、竞技、娱乐与教育五者融为一体。对弈五子棋,对自己可以启智静心,与别人可以进行和谐交流。不分智商高低,老少皆宜。现今已成为深受中国乃至世界广大民众所喜爱的一项智力体育项目,已逐渐发展成为国际性文化体育交流不可缺少的内容之一。五子棋的下法是,对弈双方各执黑或白一色棋子,在棋盘上面,白方先,黑方后,交替落子于交叉点上。棋子落下后不能移动,没有吃子。黑方或白方哪一方先在棋盘的横、竖、斜方向的同一条直线上,由同色子连成五连为胜。五子棋的称谓多种多样,“连五子”、“五子连”、“五格”、“串珠”、“五目”、“五目碰”等。现代日本称五子棋为“连珠”(renju),由于把民间游戏的五子棋改良成竞技的努力主要来自日本,所以用“连珠”称谓五子棋流行于世界。由于在五子棋游戏的过程中,先下子的一方占有很大的优势,所以五子棋游戏有两种下棋规则,禁手和无禁手。禁手规则是为了对执黑子先行的选手进行一定范围内的制约,通常有长连禁手,四四禁手,三三禁手。这些都是对先下子一方的约束,来使比赛的过程更加公平,更具有观赏性,更能体现选手的技术与智慧。无禁手规则是指双方都不需要约束下子的位置,这样的方法比较简单,符合人们日常娱乐的需求。国际比赛中因为选手具有较高的水平和素养,先手的优势可以十分迅速地转化为胜局,不利于比赛的观赏和公平,因此一般情况下都有禁手规则。但是在本文中所编写的程序是无禁手的。在现代社会的电子设备出现之前,如果人们想要进行五子棋游戏,那必须通过各种方式获得棋盘和棋子。传统的实物虽然经典有文化底蕴但不便携带,哪怕是手绘的图表仍然有着无法复原、只能使用一次等严重的局限性。而通过手机电脑电子设备以及互联网信息技术的发展,我们已经可以在脱离实物的环境下进行游戏。开始出现在电脑上。但实际上电脑也并不是一种便携的工具。但手机可以,因此手机上的五子棋游戏开发由于其显著的优势被提上了日程。1.2 开发的主要内容与目标本论文中涉及的五子棋趣味小游戏在主体上应用Android的View框架编程,但也有一些小范围的设计采用Android中的其他组件。这个软件是应用程序的计算方法分析分数,从而来完成对游戏输赢的判定。UI方面:五子棋在点击游戏图标从而进入游戏的最初界面时,采用LinearLayout的XML这一系统文件。其中包括了一个3个Button,分别实现了不同的功能。最上方的按钮是开始游戏中的双人对战模式。第二个按钮是进入五子棋的人机对战模式。最后一个按钮是用来退出游戏的,一旦点击运行,就会自动结束程序的运行。无论是人与人的游戏还是人与电脑智能的游戏,都采用一样的构建棋盘、棋子的方法,这样就可以构成人与人对战的基本模块,只需要加入自动判定胜负的环节即可。然为了实现人机对战中的AI智能落子选择,又对胜负判断部分代码进行了修改,加入了分值对比,除了判断胜负,也通过权值对比的计算,找到最优落子点。2 关键技术介绍本论文设计的五子棋游戏是在安卓平台的操作系统上建立的,在后面的部分我们将着重讲解该系统的重要成分和如何搭建所需要的系统环境。2.1 Android系统介绍安卓公司并不是一开始就是谷歌这个庞然大物的一部分,它首先起源于圣佛朗西斯科注册并创立的一家名为机器人的信息技术公司,直到2005年,才因为资本吞并成为谷歌的一部分并在两年后将之公布并授权社会免费使用,这时候才有了Android这个名字由于其在性能和组成方面的完善性、开放性和优越性,被成为前所未有的真正适应了移动信息技术发展的软件。Android的本质是朴实无华的,没有废话,以代码为中心处理Google的应用程序开发的手机操作系统3。Android手机开发平台是一款基于Linux内核的软件平台和操作系统,最早是由Google开发所开发,后来Google为了抗衡IOS系统联合多家手机公司联合成立了Open Handset Alliance即开放手机联盟,自然而然的该联盟继续承担起了Android系统的开发。Android系统采用了软件叠层的架构,此架构将系统分为了三个部分:最低层以Linux内核工作为基础,只为系统提供最基本的功能;而其他的第三方应用软件则通过各自的公司各自进行开发。Android平台在尚未和公众正式见面之前大家都认为这个手机开发平台的名字会是Google电话或者认为它的名字将会拥有一个和IPhone类似的名字-GPhone。并且在大多数人们的认知中,Google一定是意在开发出一款属于自己的手机产品,而不会去不相信Google公司会开发出的产品将会是一套完全开放的软件平台。在2016年5月18日到2016年5月20日,Google公司将会召开发布者大会,并在会议中发布安卓的最新版本Android7.0。在当今社会,尤其在信息技术产业,开发平台完全取代了封闭平台。从对比的角度我们可以看出,由于性能的过度落后,昔日的塞班王朝已经彻底成为了历史,IOS系统由于其极端的封闭性完全无法适应中国市场监管和开发的需要,至于WindowsPhone,仍然处于风雨飘摇之中。安卓系统凭借其独有的开放新,让整个社会能够参与其中,锋芒毕露,成为中国市场独一无二的霸主。2.1.1 Android基本框架我们通过对比各类不同的操作系统可以发现,无论是什么种类的操作系统,都是在分层构架这个大基础上做文章的。通过Android系统架构图我们可以发现,安卓系统一共有四个层次。最底层的是linux核心库层;在中间的是应用程序框架层和系统运行库层,其中系统运行库里包括了系统库以及Android系统运行库;最后,位于最顶层的则是具体的应用程序层了。Android系统架构图如图2-1所示(见下页)图2-1 Android系统架构图(1) 应用层Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。(2) 应用程序框架核心应用程序所使用的是API框架,开发人员是有权限完全访问的。该架构的设计能够简化组件的重用;并且每一个应用程序都可以发布它自己的功能块,同样其他的应用程序都可以使用该程序发布的功能块。同样,用户也能使用应用程序的重用机制来替换其他程序组件。应用后面的是一系列的系统和服务,其中包括: 内容提供商:使该应用程序可以共享它们自己的数据或者访问另一个其他应用程序的数据. Android的系统架构也同样采用了分层的架构。Android的构架分为四层,从高到低层分别是:应用程序层、应用程序框架层、系统运行库层和Linux核心层。 丰富而又可扩展的视图:可以构建应用程序,它包括网格、列表、按钮、文本框甚至是可嵌入的web浏览器。 资源管理器:能提供非代码资源的访问,如,图形、本地字符串和布局文件。 通知管理器:使得应用程序能显示自定义的提示信息于状态栏中。 活动管理器:用来提供常用的导航回退功能并管理应用程序的生命周期。(3) 系统运行库系统运行库中又包括程序库与Android运行库。 程序库Android包含一些库, Android系统不同的组件都能够使用这些C/C+库。开发者的服务是通过Android应用程序框架来为提供的,下面是一些核心库:系统C库:它是一个专门为基于embedded linux的设备而定制的,从BSD继承来的标准C系统函数库。媒体库:是基于PacketVideo OpenCORE的库;该库能支持多种比较常用的视频格式、音频格式的录制和回放,同时也能够支持静态图像文件。其中编码格式包括MP3、MPEG4、AMR、AAC、H.264、PNG、 JPG。Surface Manager:,能为多个应用程序提供2D和3D图层的无缝融合,并且对显示子系统的管理。LibWebCore:是一个最新的web浏览器引擎用,它能够支持一个可嵌入的web视图和Android浏览器。3D libraries:;该库可以使用高度优化的3D软加速或者使用硬件3D加速,是基于OpenGLES1.0 APIs实现的。FreeType:矢量和位图的字体显示。SQLite:是一个功能强劲且任意应用程序都可用的轻型关系型数据库引擎。SGL:是底层的2D图形引擎。Android运行库Android的核心库包括一个提供大多数功能的的JAVA编程语言核心库。所有Android应用程序都拥有一个独立的Dalvik虚拟机实例并且都运行在它自己的进程中。Dalvik是一个可以同时高效地运行多个的虚拟系统。其执行的是Dalvik可执行文件(.dex)。由于虚拟机是基于寄存器的,所以所有由虚拟机来执行的类都需经由JAVA编译器编译好,然后再通过SDK中的“dx”工具转化成.dex格式。Dalvik虚拟机主要依赖于linux内核的一些底层内存管理机制和线程机制的功能。(4) Linux内核Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。2.1.2 Android Features特性Android系统有如下的几大特性:无界限的应用程序:Android上的应用程序可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可以供其他应用程序使用。应用程序是在平等的条件下创建的,移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件也可以。应用程序可以轻松地嵌入网络。应用程序可以轻松地嵌入HTML、Javascript和样式表。应用程序可以通过WebView显示网络内容。应用程序可以并行运行:Android 是一种完整的多任务环境,其中应用程序可以并行运行。在后台运行时,应用程序可以生成通知以引起注意。应用程序框架支持组件的重用与替换 Dalvik虚拟机专门为移动设备做了优化 内部集成浏览器该浏览器基于开源的WebKit引擎 优化的图形库包括2D和3D图形库,3D图形库基于OpenGL ES SQLite用作结构化的数据存储 多媒体支持包括常见的音频、视频和静态印象文件格式(如MPEG4, MP3, AAC, AMR, JPG, PNG) GSM电话(依赖于硬件) 蓝牙Bluetooth, EDGE, 3G, and WiFi (依赖于硬件) 照相机,GPS,指南针,和加速度计(依赖于硬件) 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件。2.1.3 安全权限机制在Android系统中,应用都以唯一的一个系统识别身份(Linux用户ID与群组ID)来运行,这个操作系统的权限是分立的。系统将应用与应用,应用与系统隔离开是Linux的作用,是通过每个部分分别通过使用各自独立的识别方式来实现的。 系统的安全功能是通过权限机制来提供的。权限可以限制某个特定进程的特定操作,同时也可以限制每个URI权限对特定数据段的访问。2.1.4 Android系统的四大组件Android系统为我们提供了四大基本组件,这四大组件分别为:Activity、Service、Broadcast Receiver、Content Provider。四大组件中的每个组件都是一个视图,这些视图有一些是可见的当然也有一些是不可见的。它们只在Android系统的后台运行。下面分别介绍四大组件。(1) Activity 简介Activity组件作为Android系统中应用程序的显示层,它所利用的是:Android系统开发的应用程序中的每个通过屏幕显示出的内容都是通过集成或者是扩展基类Activity来实现功能的。在Android手机开发平台中每个Android Application都可以包含一个或者多个的Activity,并且每个Application都可以在各自的Activity之间相互相互跳转,用来达到手机屏幕之间的相互切换的目的。Activity的生命周期分为四个阶段:运行状态、暂停状态、停止状态、销毁状态。运行状态:可见并且可操作;暂停状态:可见,但是不可操作;停止状态:不可见,并且也不可操作;销毁状态:Activity生命周期结束,Activity被销毁。(2) Service 简介Service作为一种没有用户界面的组件注定是只能运行在后台的一种服务程序同时它也是在Android四大组件中和Activity组件最为相似的一个。当然Service组件还是和Activity组件有些区别的,Service组件它并没有Activity组件所拥有的用户界面,Service组件它需要被Activity组件启动。Service拥有较高的优先级,它经常实现一些比较耗时或者与用户没有交互的功能,并且Service组件还具有着较长的生命周期。(3)Broadcast Receiver 简介Broadcast Receiver的中文名字叫做广播接收器,Broadcast Receiver组件的本质是一种全局的监听器。Broadcast Receiver通常用于监听全局的广播消息。因为Broadcast Receiver组件全局监听的性质,使它能够实现与系统中不同的组件之间方便高效的进行通信。Android系统为开发者提供了非常多种类的Broadcast,这些Broadcast被用来对系统事件的响应、拦截和操作。(4)Content Provider简介Content Provider组件在Android手机开发平台中是用来保存数据和检索数据的一个组件。Content Provider组件它能够在多个应用中储存的读取同一组数据,因此Content Provider实现的是一种能够对跨平台数据进行共享的功能。当然Content Provider并不是跨应用程序共享数据的唯一方法,其他的跨应用程序共享数据方法还有文件、sharePreference 、SQLite数据库等方发。Android的构成与工作流程如图2-2所示图2-2 Android的构成与工作流程2.1.5 Android手机自带的aqlite轻量级数据库Android系统的平台为使用者们提供了一个名为SharePreferences的类,SharePreferences类是一个轻量级的储存类,所以SharePreferences类很适合用来对软件的配置参数进行储存。使用SharePreferences类保存软件配置参数数据,它的技术支持根据xml文件存放数据来完成的,使用SharePreferences类保存的数据参数被存放在/data/data/shared_prefs的目录之下。并且Android还赋予了SharePreferences类另外一个功能,就像xml那样SharePreferences类还能为用户储存一些简单的配置信息,比如,储存默认的欢迎界面、用户的登陆、验证等简单的设置。2.2 开发工具Eclipse的介绍 2.2.1 Eclipse的简介Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件,即Java开发工具JDK,因此用eclipse开发基于java 的软件项目是非常方便的。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。 2.2.2 Eclipse的功能和优势Eclipse的第一个优势在于它是一个开放源码项目,即其源码任何人都可以免费得到,并可以在此基础上开发各自的插件。这是它最大的优势,也是它越来越受人们关注的原因。Eclipse最初主要用来开发Java语言的应用项目,随着不断的发展完善,eclipse逐渐成为可进行任何语言开发的IDE集成者。使用者只需下载各种语言的插件即可开发对应计算机语言的应用程序。通过安装不同的插件 Eclipse可以支持不同的计算机语言,比如 C和 Python等开发工具。 Eclipse的第二大优势是eclipse相比较myeclipse等其他同类软件相比,轻巧方便,且易于安装。2.3 Android开发平台的搭建开始使用Android开发是很容易的。您甚至不需要访问Android手机,只需要安装Android SDK的计算机和随附的手机模拟器。几分钟之内,“Hello,Android”会让你创建第一个工作的应用程序:Android的版本“Hello,World”4。2.3.1 JDK的安装首先要到sun官方下载jdk,注意的是下载jdk而不是下载jre,因为jre是提供java的运行环境而不是开发环境。sun官方网站是:。双击下载好的JDK安装包,按照安装提示一步一步执行,安装完成之后,需要配置环境变量。右键点击我的电脑 - 属性 - 高级- 环境变量,在下面的“系统变量”处选择新建(在“系统变量”中进行配置之后,所有使用此电脑的用户都可以使用,如有电脑只有一个用户,也可以在上面的用户变量中进行配置)。在弹出的对话框中的变量名一栏输入JAVA_HOME,在变量值一栏输入刚才安装JDK的目录;确定后添加CLASSPATH系统变量,单独设置为“.;%JAVA_HOME%lib”;确定后配置Path变量,添加“;%JAVA_HOME%bin”。配置信息如图2-3所示图2-3 配置信息然后可以在cmd窗口检查JDK是否安装成功。Win+R-输入cmd-确定,在cmd窗口中输入java -version查看JDK的版本信息。如图2-4的信息表示安装成功图2-4 安装成功检验2.3.2 Eclipse安装Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。它不需要安装,下载后将解压包解压到想安装的地方,直接双击根目录下的eclipse.exe文件打开,在弹出的对话框中设置考好工作空间路径,即可方便使用。2.3.3 Android SDK的安装Android SDK提供了开发Android应用程序所需要的API库以及构建、测试和调试Android应用程序所需的各种开发工具。(1) 从官方网站()或()下载Android SDK Tools。安装或解压Android SDK到任意目录下。(2)在Android SDK的安装目录下,运行“SDK Manager.exe”。因为国内有墙,可能会出现更新失败的情况,可以使用()提供的Android SDK在线更新镜像服务器来安装。(3) 选择所希望安装的SDK及其文档或者其它包,然后点击Installation Selected、Accept All、Install Accepted,开始下载安装所选的包。(4) 在用户变量中新建PATH值为Android SDK中的tools绝对路径。2.3.4 为Eclipse安装ADT插件(1) 打开Eclipse IDE,点击 Help菜单 - Install New Software ,点击弹出对话框中的Add 按钮,弹出要求输入Name和Location的对话框,在Location输入/android/eclipse。如图2-5所示:图2-5 ADT的安装(2) 点击OK后,展开Developer Tools将显示Android DDMS和Android Development Tool两个选项,勾选它们,然后按照提示继续下一步。(3) 完成之后,选择WindowPreferences.,在选择面板左边的Android,然后在右侧点击Browse.并选中SDK路径,然后点击Apply、OK,配置完成。(4) ADT离线安装法第一步:将Android SDK.rar解压到合适的文件夹中,放在和Eclipse在同一个目录下。第二步:运行eclipse,点击Help菜单下的Install New Software的菜单,Add-Archive-选择解压出来的ADT文件。第三步:选择Developer Tools选项,然后一路“下一步”就可以了。第四步:安装好后会要求你重启Eclipse,Eclipse会根据目录的位置智能地和它相同目录下Android SDK进行关联,否则会弹出配置Android SDK对话框,你可以选择安装新的SDK或使用已经存在的SDK。2.3.5 配置Android虚拟设备(AVD)在Eclipse中,选择菜单“Window-AVD Manager”,进入Android Virtual Device Manager对话框5。其中显示了已经创建的模拟器;点击“Create”按钮,出现“Create New AVD”对话框,输入AVD Name、Target等信息,点击“OK”按钮可以创建新的模拟器。运行新建的模拟器,在列表中选中要运行的模拟器,然后单击“start.”;再单击“launch”即可运行。模拟器运行效果如图2-6所示:图2-6 模拟器运行效果至此,安卓开发平台已基本搭建成功。接下来就可以在Eclipse工具中新建项目了,小心不要从新建菜单中选择Java项目。虽然Android应用程序是用Java编写的,并且您正在Java项目中进行所有开发,但此选项将创建一个标准的Java应用程序。选择Android Project可以创建Android特定的应用程序。如果您没有看到Android Project的选项,则表示Eclipse的Android插件未完全或正确安装6。如果成功新建Android项目,就可以开始编写本次毕业设计任务五子棋游戏的代码了。2.3.6 开发环境电脑硬件:处理器 2.60 GHz Intel 内存 16GB 1600 MHz DDR3操作系统:Windows 10 专业版 64位操作系统开发工具:eclipse-jee-mars-2-win32-x86_64 ADT-24.0.2 Android SDK:Android 4.2.2 (API 17)3 需求分析与可行性分析3.1 游戏需求分析3.1.1 功能需求分析本次毕业设计是基于一般的五子棋游戏规则与游戏模式完成的,打开应用,经过欢迎页面进入主页面。在主页面需要通过三个按钮分别实现人人对战、人机对战、退出游戏的功能。(1) 人人对战人人对战即用户在游戏应用主页面点击人人对战按钮的时候所跳转到的一个新的游戏view。利用将点击事件监听器与button控件绑定在一起,再通过相应的算法实现屏幕的跳转。该界面显示的是一个10*10的棋盘与返回主页面的按钮,在该游戏模块中,游戏玩家可以自己与自己进行复盘与练习或者与一个自己的好友一起进行游戏。在棋盘下方有一个返回按钮,同样是利用将点击事件监听器与button控件绑定在一起,再通过相应的算法实现将屏幕跳转回主页面。在

温馨提示

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

评论

0/150

提交评论