软件工程专业毕业论文基于android系统五子棋界面设计_第1页
软件工程专业毕业论文基于android系统五子棋界面设计_第2页
软件工程专业毕业论文基于android系统五子棋界面设计_第3页
软件工程专业毕业论文基于android系统五子棋界面设计_第4页
软件工程专业毕业论文基于android系统五子棋界面设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

摘 要当今的世界是一个信息极大丰富的世界,所以人们对于各种信息的获取都有着强烈的需求。人们往往会借助报纸、手机、电视、网络等方式来获取和处理各种信息。随着科技的发展,手机作为一种非常重要的通讯工具,其功能越来越强大,相对电视,网络等方式,手机凭借着它的便携性和处理信息的优势,日益成为人们获取信息的一种重要手段。但是实际上并不是所有的手机都可以满足人们这种相对复杂的功能要求,而智能手机由于强大的功能令其成为所有手机中最好的选择。目前市场上的智能手机有几大类,分别是symbian、windows mobiile、linux、黑莓。不过近两年来上市的Android操作系统由于具有良好的开放性和平台开发的便捷性等特点,使得采用Android的手机愈加受到人们的青睐。在此同时,Android操作系统的手机在智能手机领域所占的比重越来越重。所以,我将Android系统下的五子棋小游戏作为本次毕业设计研究对象。关键词:Android;智能手机;五子棋小游戏;操作系统。AbstractNowadays,there is abundant information in the world,people have a strong demand for the access to different information.We tend to get and process information through newspaper,mobile phone,TV and Internet.With the development of science and technology,as a very important communication tool,the mobile phone has a more and more powerful function.The mobile phone is becoming an important means of getting information because it has an advantage on portability and information processing when compare to TV,Internet and other means. In fact,not every mobile phone can satisfy peoples needs of relatively complicated function,the smartphone is proved to be the best choice as its powerful function.For now,there are several categories of smartphone in the market,they are symbian,windows mobile,linux,blackberry.But the mobile phone using Android as its operating system has get an increasing favour of people.At the same time,the proportion of mobile phone using Android in smartphone is becoming more and more high.So,I choose the five chess game under the Android as the object to design and study.Keywords:Android; smart phones; Gobang Game; operating system目 录前 言1第一章 Android开发平台的搭建2第一节 Android系统的由来2第二节 Android系统平台的架构组成2一、第一层Applications,应用程序集合2二、第二层Application Framework,应用程序框架3三、第三层Libraries(函数库)和Android rutime(运行环境)3四、第四层Linux Kernel4第二节 Android开发环境的特点4第三节 Android开发环境的搭建4一、建立java环境5二、 Eclipse和Android SDK的安装5三、 更新Eclipse,安装Android开发插件ADT6四、设置开发平台的环境变量7五、 Android AVD的配置7第二章 Android平台五子棋手机游戏8第一节 五子棋游戏的介绍8第一节 五子棋游戏的功能框架8第三节 五子棋的游戏界面8一、 手机界面8二、游戏开始界面9三、实现介绍对话框14四、添加游戏菜单19五、退出游戏23六、开始游戏23设计总结及心得26参考文献2828 前 言所谓智能手机,就是指类似于个人电脑,具备独立的操作系统,且可以由用户自行安装软件、游戏等程序以此不断对手机进行扩充,并可以通过移动网络或3G网络来实现网络接入的这样一类手机总称。其实,智能手机除了具备手机的通讯功能外,同时也具备了PDA的大部分功能,尤其是个人信息管理以及基于无线数据通信的浏览器,gps和电子邮件等功能。智能手机可以为用户提供足够大的屏幕和带宽,既方便随身携带,有为软件的运行和内容服务提供了较大的平台,很多增值业务如:交通、股票、天气、商品、新闻、音乐图片下载、应用程序下载、等等,都可以就此展开。而且时下正在推广的3G网络使得智能手机势必将成为一个功能强大,集通话、短信、网络接入、影视娱乐于一体的综合性个人手持终端设备。智能手机常见的操作系统有很多种,按市场占有力和影响力来说主要有symbian、ios、windows mobile、linux os、黑莓、Android os这五种不同的智能手机操作系统。Symbian是目前市场上占有率最高的也是应用范围最广的智能手机操作系统具有功耗低、内存占用少等特点。Windows mobile是微软为智能移动终端设备使用的操作系统,它将用户熟悉的windows桌面扩展到手机上,也正是由于这一点windows mobile 同时继承了windows的功能强大的性质。Linux os凭借其自由、免费、开放源代码的优势、经过来自互联网和遍布全球的程序员的努力他的发展将不容忽视,不过linux对于硬件的要求较高,使得linux的发展差强人意。Android os其实也是基于linux的一个操作系统,是有google开发的,相对于其他的操作系统来说是真正意义上的开放性移动设备平台。Android os包括操作系统、用户界面和应用程序等移动电话工作所需的全部组件,而且不存在任何以往阻碍移动产业创新的专有权障碍。作为近两年才出现的智能手机操作系统,Android操作系统无疑还不太成熟,但是在HTC(宏达电子) 摩托罗拉、三星、已经国内联想、化为、中兴等多家智能手机制造商不断推出基于Android操作系统的智能手机,使得Android操作系统的市场份额以及影响力日益增强,前景越来越好。其最大的特点是开放性,Android是以开源linux系统为基础,且在第三方软件的开放程度上并不严格把关。本次毕业设计侧重于开发Android的五子棋游戏界面设计。本次毕业设计的主要内容有以下几个方面:1、 Android开发环境的搭建2、Eclipse和Android SDK的安装3、更新eclipse、安装Android开发插件ADT4、设置开发平台的环境变量第一章 Android开发平台的搭建第一节 Android系统的由来 Android是google于2007年11月5日,开发的基于linux2.6核心的开源智能手机操作系统。它包括三个重要的组成部分、操作系统、用户界面和应用程序,包含了移动电话工作所需要的全部软件,并且不存在任何以往例如专有权等阻碍移动产业创新的障碍。第二节 Android系统平台的架构组成具体Android框架结构图如下: 图1.1.1Android系统框架结构图Android系统的整体架构依次分为以下四个层次:一、第一层Applications,应用程序集合Applications层是Android系统用户应用层,是Android系统自带的一系列以java语言编写的核心应用程序的集合,它包括电子邮件程序、SMS短消息程序、日历、地图、联系人管理程序等等。这是Android系统给用户提供的手机基本功能的软件集合。二、第二层Application Framework,应用程序框架Application Framework是Android平台专门为应用程序的开发儿设计的,它可以允许开发人员完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能模块、并且任何其他的应用程序都可以使用其发布的功能模块(不过须遵循框架的安全限制)。同样的,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统,包括:1、 丰富且可拓展的视图,可以用来构建应用程序,它包括列表、网络、文本框、按钮,甚至可嵌入的web浏览器。2、 内容提供器使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。3、 资源管理器提供非代码资源的访问,如本地字符串,图形和布局文件。4、 通知管理器使得应用程序可以在状态栏中显示自定义的提示信息。5、 活动管理器用来管理应用程序的生命周期并提供常用的导航回退功能。三、第三层Libraries(函数库)和Android rutime(运行环境)这一层分为两个部分,第一部分为核心库,该核心库提供了JAVA编程语言核心库的大多数功能。第一部分,核心函数库。Android提供包含一些C/C+库,这些库能被Android系统中不同的组件使用。该核心库提供了JAVA编程语言核心库的大多数功能。它通过Android应用程序框架为开发者提供服务。Android平台的核心函数库包括:1、Surface Manager(外观管理员):主要的功能是让开发者可以去存取显示系统及管理的功能,在显示和存取操作间的对应、互动以及实现无接缝的2D/3D多应用程序之间的整合。例如:在2D、3D显示上的合成、迭合动作。2、Open GLES:基于OpenGL ES 1.0APIs实现:主要是依OpenGL ES1.0规范所定义的3D绘图引擎。该库可以将硬件的3D功能做最佳的处理显示,可以使用硬件加速3D加速或者使用高度优化的3D软加速。3、SGL:主要是处理有关显示2D方面的绘图引擎。4、Media Framework:主要是以PacketVideo公司的OpenCORE为基础所发展或多媒体函式库,有支持多种声音及图像格式。5、SSL:是Secur Socket Layer的缩写,主要是处理有关保护网页通讯的协议。6、Free Type:主要是处理有关显示位图及向量字形方面的处理。7、SPLite数据库:SQLite数据库也是一套开放性原始码的关联式数据库,其特点在于轻量性方面的设计结构,更适合在手机上使用。8、Web Kit:是一个的网页浏览器引擎,让Android发展出专属的浏览器,也可以让开发者利用这个引擎做出不同的应用。9、libc:就是BSD标准系统C函式库。但是,针对Linux嵌入式装置进行过最佳化的调整。第二部分,Dalvik虚拟机。Dalvik虚拟机主要用来为Android应用程序的提供运行环境,其作用相当于JVM。在运行Android中的每一个应用程序,都运行在它自己的环境当中,都拥有一个独立的Dalvik虚拟机实例。另外,为适应手机特殊的运行环境Dalvik都被设计成一个可以同时高校的运行多个虚拟系统的设备。 四、第四层Linux Kernel这一层是系统内核层,Android的内核采用的是linux2.6内核,它主要用于保障安全性、内存管理、进程管理、网络协议栈和驱动模型等等。同时linux内核也作为硬件和软件栈之间的抽象层,作为两者沟通的桥梁。内核层所提供服务为核心系统服务,具体包括以下五个部分:1、安全性2、内存管理3、线程管理4、网络堆栈5、驱动程序模型为了便于分析和研究,可以将应用程序和应用程序框架称为应用层,主要面向Android应用程序开发人员和手机用户,而把Android函数库、运行环境和linux内核称为核心层,它主要是面向真个系统的。第二节 Android开发环境的特点Android作为一个开放式的平台,理论上可以在其上开发基于多种语言的应用程序。但是Android平台将JAVA语言作为它的官方语言,这无不是考虑到java语言的强大功能和极佳的平台适应性,也是基于如此考虑Android平台上绝大多数程序都是基于java程序。Eclipse作为时下最流行的java开发工具之一,其良好的开放性、开发效率高、便于使用的特点非常符合OHA的主旨,非常适合作为Android的开发工具来使用。另外为便于Android应用程序的开发,OHA专门为Eclipse开发了Android插件,使得开发者可以方便你的使用Eclipse开发Android应用程序。基于以上两点这次毕业设计选择Eclipse作为开发工具。第三节 Android开发环境的搭建Android开发平台的建立需要依次完成以下五个步骤:1、在电脑上建立java运行环境2、安装Eclipse开发软件和Android SDK3、更行Eclipse,安装Android开发插件ADT4、设置开发平台的环境变量5、Android AVD的配置一、建立java环境Eclipse是用java语言编写的程序,因此在安装Eclipse之前必须保证系统已经建立了java环境,否则无法运行。这涉及到JRE和JDK。(1)JRE和JDK的区别JRE是运行java程序必须的环境的集合,它包括JVM标准实现及java核心类库。它不包含开发工具编译器、调机器和其他工具。JDK全称Java SE Development Kit,他提供了java的开发环境和运行环境,它是java开发包、开发工具、是java应用程序的程序开发环境。因此可以说它包括了JRE。两者的一个重要区别:如果只是单纯的运行java系统只需要安装JRE,但是如果是开发java程序那么就必须要安装JDK。(2)安装最新的JDK根据(1)我们可以知道建立java环境我们必须安装JDK。最新版本的JDK版本是1.6,可以在SDN(http//downloads/)上下载然后安装到电脑。二、 Eclipse和Android SDK的安装(1)Eclipse软件的下载访问Eclipse官方网站下载最新版的Eclipse(/downloads)(2)Eclipse的安装在安装过程中需要注意的是要设置Eclipse的工作空间workspace,它是开发程序相关文件的保存目录 图1.2.1select workspace图(3)Android SDK的安装SDK是 Software Development Kit 一般指软件开发包,它包括程序开发中所用的函数库、编译程序等资源。Android SDK也是开发Android软件所需要的一些函数库等资源的集合包。也是我们开发Android程序必须的组件之一。三、 更新Eclipse,安装Android开发插件ADT(1)ADT介绍Android ADT是专门为Eclipse开发Android程序设计的插件。ADT插件大大扩展了Eclipse集成环境功能,使得生成和调剂Android应用程序既容易又迅速。这个插件可以通过更新Eclipse来添加。(2)更新Eclipse启动Eclipse,选择helpSoftware UpdatesFind and install.弹出对话框后,选择 Search for new features to install 点击Next点击 New Remote Site添加一个新的网址。http//Android/eclipse/,点击 OK由新输入的的网址会出来一个更新的列表,点击Finish按钮,完成网址的添加。根据输入的网址会搜索到新的部件。如图: 图 1.3.1 Android SDK 更新选择Accept terms of the license agreement,点击Next,确认接受使用协议。点击Finish,会执行搜索到的资源的下载。点击Install All,安装搜索到所有的插件。安装完成后需要重新启动Eclipse,来让系统识别刚装上的插件。四、设置开发平台的环境变量开发平台的环境变量的配置包括两个部分,一个是java运行环境的环境变量设置JAVA_HOME和CLASSPATH变量,另一个就是Android SDK的tool变量。其中JAVA运行环境是为了Android SDK的tool变量。(1)设置java环境变量在桌面上邮件点击我的电脑-属性-高级-环境变量。五、 Android AVD的配置Android 1.5中引入了AVD。AVD是一个经过配置的模拟器。必须制定target,target有类型,SDK 1.5中目前有两种:platrorm,add-on。Platform是Android的平台target,add-on是Android的插件target。在创建AVD,选择target时要注意以下几个方面: (1)target的API level很重要,应用的API lvevl 要=AVD的target 的API Level,否则应用程序不能运行。二应用程序的API level是在AndroidManifest.xml中定义的。(2)最好建立一个API level 最大的AVD,测试你的应用在高版本AVD之上的兼容性。(3)如果要设计的应用程序使用add-on插件。那么要部署到AVD的target需要指定为add-on类型,否则会出现错误。 至此,就完成了Android系统平台的开发环境搭建。第二章 Android平台五子棋手机游戏第一节 五子棋游戏的介绍五子棋是一款非常经典的小游戏。五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。游戏规则也很简单,通过放棋子到棋盘中,任何一方有连续五颗子连成一条线即为胜利。第一节 五子棋游戏的功能框架 图 2.2.1 五子棋游戏功能框架图第三节 五子棋的游戏界面一、 手机界面该界面为打开手机后的界面。 图 3.1.1 Android运行界面 二、游戏开始界面该菜单为游戏提供主要功能操作,包括“新游戏”、“继续”、“介绍”和“退出”四个菜单选项。其中新游戏选项为开始一个新的游戏,继续选项为继续上次没有完成的游戏,介绍选项为有关于这个游戏的介绍,退出游戏选项为退出游戏程序。 图 3.2.1 五子棋游戏开始界面对于这个界面我们必须修改main.xml文件。在eclipse中双击main.xml即可打开该文件。根据eclipse的具体设置,点击main.xml后出现的可能是一个可视化的布局编辑器,或者是一个XML编辑器。在当前的ADT版本中,可视化的布局编辑器用处其实并不大,所以单机main.xml或者底部的source选项卡,查看XML文件。mani.xml文件的第一行都是显示:所有Android xml文件开头都是这行代码。这行代码只是告诉编译器,该文件是xml格式的,采用UTF-8字符集编码。出来包含针对非ASC字符的转义码以外,UTF-8字符集和常规的ASC字符集几乎完全一样。接下来会看到对的引用: 布局是存放一个或多个对象及某种行为的容器,行为描述了如何将这些子对象放置在屏幕上其父对象的矩形区域中。Android中最常用的几种布局是:Framelayout(框架布局):从屏幕的左上角开始显示子对象,主要用于选项卡视图和图像切换器。Lineralayout(线性布局):以单列或单行的形式显示子对象,这是最常用的布局方式。Relativelayout(相对布局):以相对于其他子对象或父对象的位置显示子对象,这种布局通常用于表单中。Tablelayout(表格布局):以多行和多列的方式显示子对象,类似于HTML表格。各种布局常用的一些参数如下:xmlns:Android=http:/schemas.A/apk/res/Android这串代码是定义Android的xml命名空间,这个参数只能main.xml文件中的第一个xml标记处定义一次。 Android:layout_height=fill_parentAndroid:layout_width=fill_parent而这一串参数是声明此布局的高度和宽度相同。可能的值有fill_parent或wrap_content标记中有一个如下所示的子对象部件:这里定义了一个简单的文本标签。打开main.xml编辑代码: 和将英语文本硬编码到布局文件中不同,使用string/resid这种语法形式引用res/values/string.xml文件中的字符串。这个文件也可以有其他的写法根据区域设置或其他参数的设置情况,还可以有其他资源文件。然后代开这个文件输入代码: Hello World, wuziqi! 五子棋 五子棋 新游戏 继续 介绍 退出为了使标题文本更大一些并使其居中,让按钮变小并使用不同的背景颜色,创建一个colors.xml文件在values文件夹中,并编辑代码: #3500ffff然后运行五子棋程序我们就可以看到图 2.3 所示的结果。本次设计之所有使用xml,虽然xml是一种详细的可读格式,但在简洁和高效方面做得不太好。不过Android是针对内存和功率都有限的移动设备而优化的。所以虽然在编写程序的时候使用的是xml,但是eclipse插件会调用Android资源编译器aapt,将xml文件预处理为压缩的二进制格式。移动设备中存储的正是这种压缩的二进制格式文件,而不是原始的xml文件。在测试中如果将模拟器切换到横向模式,就发现屏幕底部的退出按钮消失了 图 3.2.2 横向模式下,看不到退出按钮这时候我尝试调整布局,使其在各种方向模式下都能正常显示内容。但是无论怎么调整布局都不能奏效,或者看起来会很奇怪。于是我想到,重新创建一个不同的布局。重新创建一个名为layout-land/main.xml的文件,并编辑代码: 在这里使用TableLayout布局方式创建两列按钮。现在再次运行程序可以看到如图界面: 图 3.2.3 使用特定的横向布局,所有按钮都可以正常显示Android允许使用资源后缀为任何资源制定替代版本,而不仅仅是布局。三、实现介绍对话框用户选择了介绍按钮时,表明了用户触按了屏幕上的该按钮。此时,应该弹出一个窗口,其中显示一些有关于这个游戏的一些介绍信息。在阅读完该对话框上的这些文字后,用户按下返回按钮可以关闭这个窗口。要实现这个功能,我们可以用以下方法实现:(1) 定义一个新的activity类并启动它;(2) 使用alertdialog类并显示它;(3) 子类化Android的dialog类并显示它。在本次设计中,将定义一个新的活动。和主五子棋程序的活动一样,介绍按钮的活动也需要一个布局文件。将这个布局文件命名为layout/about.xml并编辑代码: 现在只需要该布局文件的一个版本就可以了,因为这个布局在纵向和横向都能够正常显示。下面将介绍对话框的标题以及对话框中包含的的文本内容添加到values/strings.xml文件: 介绍 这个游戏界面是因为即将毕业,以此为毕业设计。五子棋游戏 是当前比较流行的小游戏,只要有五颗棋子连成一条直线即胜 利。在此感谢各位老师给予的帮助和支持。 贵阳学院物电系 07电信一班 杨浩 在about_text中的反斜杠字符是避免了在第一个单词的前面出现额外的空行。 About活动应该在About.java文件中定义,只需要重新写onCreate()方法并调用setContentView()方法就可以了:package org.example.wuziqi;import Android.app.Activity;import Android.os.Bundle;public class about extends Activity Overrideprotected void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.about);接下来需要将这个活动和wuziqi类中的About按钮关联起来。首先在wuziqi.java里面添加一些导入语句: import Android.content.Intent; import Android.view.View;import Android.view.View.OnClickListener;在onCreate()方法中添加代码以调用findViewByIdeo()和setOnClickListener()方法,findViewById()方法是用在根据资源ID查找Android视图,而setOnClickListener()方法是通知Android用户点击时触发哪个对象:/* Called when the activity is first created. */ Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); / Set up click listeners for all the buttons View newButton = this.findViewById(R.id.new_button); newButton.setOnClickListener(this); View continueButton = this.findViewById(R.id.continue_button); continueButton.setOnClickListener(this); View aboutButton = this.findViewById(R.id.about_button); aboutButton.setOnClickListener(this); View exitButton = this.findViewById(R.id.exit_button); exitButton.setOnClickListener(this); 以下的代码使用this作为接收方,那么wuziqi类需要实现OnClickListener接口而且定义一个名字是onClick()的方法:/ . public void onClick(View v) switch (v.getId() case R.id.about_button: Intent i = new Intent(this,about.class); startActivity(i); break; / More buttons go here (if any) . 如果希望在Android启动某个活动,那么首先需要创建Intent类的实例。Android里面有两种Intent类实例:public(命名的)的Intent类实例是在系统注册的,可以从任何应用中调用这个实例,private(匿名的)的Intent类实例只能在一个应用程序内使用。在本次设计中,我使用后面一种实例。现在运行这个程序,然后点击介绍按钮,结果出现错误提示: 图 3.3.

温馨提示

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

评论

0/150

提交评论