ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:2.16MB ,
资源ID:12279608      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12279608.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于android数独游戏论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于android数独游戏论文.docx

1、基于android数独游戏论文毕业设计(论文)题 目: 基于Android数独游戏设计 基于Android数独游戏设计摘 要移动互联网时代的到来极大的改变了我们的生活,而Android是一种以Linux为基础的开放源码操作系统迅速占领了智能机操作系统,所以在android环境下开发显得尤为必要。Android是开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。本文就在分析讨论Android手机软件开发技术原理的基础上,为用户开发出基于Android平

2、台的数独游戏的软件。通过对Android系统架构和应用开发进行初步研究,设计一款数独游戏。在对系统进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的开机动画,菜单界面、屏幕绘制、时间控制、布局算法等进行了设计。本文详细介绍了在Android平台上以Java为语言编写游戏的过程,最终实现了一个界面友好、操作简单的手机益智游戏。关键词:Android 数独 智能机The design of Sudoku game based on AndroidAbstractArrival of the mobile Internet era has greatly changed our live

3、s, and Android is a Linux-based system quickly occupied the smartphone operation system, Android development is particularly necessary under the circumstances. Androids biggest feature is its open architecture, not only has a very good development and debugging environment, but also supports a varie

4、ty of scalable user experience, including rich graphical components, multimedia support, and powerful browser. Therefore, for software professionals, Android platform has unlimited appeal.In this thesis, the analysis and discussion of Android mobile phone software development technology provide user

5、s with better platform to the Sudoku based on Android meteorological software. Through the Android system structure and application development for preliminary research, we designed a Sudoku game. In the system based on the analysis of the detailed requirements, we design the game in the game menu i

6、nterface, the screen rendering, time control and layout algorithm.This thesis describes the whole development process of Android based smart phone game using Google Android SDK. Finally, we have the software with friendly interface and simple operation.Key Words: Android ; Sudoku ; Smartphone 第一章 绪论

7、1.1研究背景1.1.1 手机游戏的发展以及特征手机游戏,是指用户运行在移动终端的应用程序,具有网络连接功能,能够满足用户随时随地进行游行的需求,它需要一定的硬件环境和一定的系统环境作为其运行的基础。手机游戏吸引用户最大的特点就是其便利性,由于其是移动终端,所以用户可以随时随地进行游戏。正是因为其便利性,手机游戏市场有了很大的发展。在美国,手机游戏作为美国手机用户最喜欢的移动应用之一,在iPhone和Android等智能终端推出后发展迅速。手机游戏常见的特征可以总结如下:1.庞大的潜在用户群:全球在使用的移动电话已经超过10亿部,而且这个数字每天都在不断增加。在除美国之外的各个发达国家,手机用

8、户都比计算机用户多。手机游戏潜在的市场比其他任何平台,比如PlayStation和GameBoy都要大。2.便携性与移动性:在控制台游戏时代,GameBoy热销的一个原因就是便携性人们可以随时随地沉浸在自己喜欢的游戏中,还可以随时随地抢购自己喜欢的装备或宠物。和游戏控制台或者PC相比,手机虽然可能不是一个理想的游戏设备,但毕竟人们总是随时随身携带,这样手机游戏很可能成为人们消遣时间的首选。手机便携性、移动性的特征更能满足用户随时随地玩游戏的需求,用户利用排队、等车的时间进行游戏,手机游戏碎片化的特性凸显。调查显示,29.8%的用户在用手机玩游戏以后电脑端玩游戏的时间减少,手机游戏已经开始抢夺电

9、脑游戏时间。22.4%的用户手机游戏时间越来越长,仅有10%的用户时间变短,手机游戏已逐渐成为一种普遍的娱乐方式。3.支持网络:因为手机是网络设备,在一定限制因素下可以实现多人在线游戏。随着移动网络的发展,移动游戏也越来越多的被大家接受,对于之前长期通知市场的掌机来说造成了不少的冲击。市场研究公司IDC和App Annie报告显示2013年第一季度iOS和Android平台游戏业务营收是掌机的3倍。1.1.2数独游戏背景数独的前身为“九宫格”,最早起源于中国。但当时的算法比现在的更为复杂,要求纵向、横向、斜向上的三个数字之和等于15,而不是数字不能重复。儒家典籍易经中的“九宫图”也是来源于此。

10、到了18世纪末,瑞士数学家莱昂哈德欧文又发明了一种叫做“拉丁方块”的游戏,之后不久,美国的一家数字逻辑游戏杂志开始刊登这类游戏,使此类游戏得到良好发展,之后又在日本得到了广泛的传播。2004年,第一个“数独”游戏被刊登上了英国泰晤士报的封面,此时开始数独游戏才真正为世界所知晓。数独游戏的规则很简单,只需要在空格处填写19的数字,并保证每个数字在每个九宫格内只出现一次,而一般的游戏过程是系统随机生成一个棋局,然后玩家需要在空白处填上相应的数字使其满足游戏规则。由于此类游戏操作简单,不需要特定的语言基础,也不需要进行数字运算且可玩性高、锻炼思维、开发大脑,所以很快风靡全球。1.2 Android

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

12、要针对目标用户量身定制。这是因为游戏玩家的核心需求是统一的,那就是:娱乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。因此,绝大多数种类的游戏都具备传染性与普适性,每一个售出的游戏都将会点燃周围潜在玩家的激情,最终吞噬整个需求市场。由此可知,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户不过是冰山一角,随着Android手机市场进一步壮大,游戏的市场容量将具备更大的增长空间3。1.3 本文主要工作及章节结构整篇论文共分为六个部分,其主要内容安排如下:第一章 引

13、言。介绍论文的研究背景、目的和意义。包括课题的背景资料简介、国内外研究现状和发展趋势、深入地介绍了课题研究的价值。第二章 Android平台概述。这部分主要是介绍了智能手机系统现状、Android的功能特征、Android系统的特点以及Android的体系结构。第三章 数独游戏的设计。对游戏相关策划,功能以及架构进行介绍。第四章 数独游戏的实现。这部分主要介绍了游戏的界面、游戏中的逻辑处理以及该游戏今后的改进和优化。第五章 总结和展望。对整篇论文加以总结与回顾以及对未来的展望。第二章 Android 平台概述本章将介绍Android 这个基于Linux开发平台,首先我们会介绍 Android

14、操作系统,然后讲述其特性,接着讲述其系统框架,其次我们会重点介绍其应用程序的构成模块,最后会介绍其生命周期。2.1 Android系统简介Android 是谷歌公司发布的手机操作系统,它是基于Linux 平台的开源手机操作系统,谷歌公司将要把其打造为基于移动终端的真正开放的移动软件平台,不仅拥有移动电话所需要的工作软件,而且在专利权方面能够不侵犯他人权利去推动移动互联网的创新。谷歌公司为了开发Android,与开放手机联盟进行了合作,手机开放联盟由全球30 多家移动开发和手机应用的领先企业组成。谷歌公司不仅仅和运营商达成了合作关系、而且与设备制造商以及开发商保持长期合作,目的就在于利用其优势建

15、立移动软件平台,其特点是标准化、开放式的。Android是谷歌公司未来企业战略的一部分,其目的是为了在任何时候任何地点能够提供信息 4。2.2 Android系统特性Android系统特性如下所示:1.应用框架:Android系统组件,用于开发流程,两个特性:可重用性和可替代性。2.Dalvik 虚拟机:在Android系统中, Dalvik虚拟机是一种Java 虚拟机,是Google公司自主开发,其代号为Dalvik,占用资源比较小,运行效率比较高。3.集成浏览器:引擎 WebKit,其特性是开源。4.优化图形:强大的自定义二维图形库。基于OpenGL ES 1.0 标准的3D 图形功能,在

16、移动3D 开发中有着至关重要的地位。5.SQLite 数据库:SQLite 提供结构化的数据存储。它是一款轻型免费的且开源的数据库,设计目标是嵌入式的。它具备占用资源低、需要的内存空间少、处理速度较快,并且还支持事务处理功能等优点。6.多媒体支持:支持各种通用的音视频和静态图像格式(MPEG4、MP3、JPG、PNG、GIF、AAC、H.264、AMR)。7.GSM 技术:(依赖硬件)Global System for Mobile Communications,全球移动通讯系统,俗称全球通,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行

17、遍全球。8.蓝牙,EDGE,3G,and Wi-Fi:(依赖硬件)蓝牙和Wi-Fi 都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM 演进技术。9.Camera,GPS,Compass,and Accelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统。它是一个由覆盖全球的24 颗卫星组成的卫星系统。Compass是一个开放源代码的Java 搜索引擎框架。10.强大的开发环境:包括一个设备模拟器,调试工具,内

18、存和性能检测,以及Eclipse11.IDE 的开发插件。Eclipse集成开发环境。2.3 Android 操作系统框架结构Android 作为一个开源的移动设备的平台,其软件层次结构自上而下分为四个层次,分别是:应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android 运行环境(RunTime)、Linux 内核(Linux Kernel)。图 2.1 Google 手机操作系统平台-Android 的架构模型2.3.1 应用程序突破传统思维,提供更好的用户体验。Android 将会移植一系列的核心应用,包

19、括E-mail 客户端,SMS 程序,日历,GPS 地图,浏览器,联系人等等。所有的应用程序都是由Java语言完成的。应用程序是无界限的,可以在平等条件下创建,还可以轻松地嵌入Web,可以并行运行5。2.3.2 应用程序框架Android 应用程序由一个或多个组件组成,Android 的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以Java 构建的,因此本层次提供的首先包含了UI 程序中所需要的各种控件:例如:Views(视图组件)包括lists(列表),grids(栅格),text boxes(文本框),buttons(按钮)等。甚至一个嵌

20、入式的Web 浏览器。一个 Android 的应用程序可以利用应用程序框架中的以下几个部分:Activity(活动),Broadcast Receiver(广播接收者),Service(服务),Content Provider(内容提供者)2.3.3 库与运行环境Android 包含一套C/C+库,能被系统中不同的组件使用。这些功能通过Android应用框架展现给开发人员。下面列出一些核心库:(1)System C library:从BSD 继承来的标准C 系统函数库,也是系统中最为底层的库,是专门为基于嵌入式Linux 的设备制定的。(2)Media Framework:该库支持多种常用的音

21、频、视频格式的回放和录制,同时支持静态图片文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG 和PNG 等。(3)Surface Manager:用于管理不同应用对图形显示子系统和2D 和3D 图形层的访问。(4)WebKit:一个时尚的web 浏览器引擎,为Android 浏览器和内嵌的web view 提供实现。(5)SGL:隐藏的2D 图形引擎。(6)3D libraries:基于OpenGL ES 1.0 APIs 实现的库,该库可以使用硬件3D 加速,或者高度优化的3D 软加速。(7)FreeType:位图和向量模式的字体绘制。(8)SQLite:一个强大的,轻量的关系

22、型数据库引擎,用于所有的应用。Android 运行时Android 包含一组核心库,提供了Java 语言核心库内的大部分功能。Android运行环境主要指的是虚拟机技术Dalvik。Dalvik虚拟机依赖Linux kernel来实现一些潜在功能,例如线程和底层内存管理。Dalvik虚拟机和一般Java虚拟机(JavaVM)不同,它执行的不是Java标准的字节码而是Dalvik可执行格式(.dex)中执行文件,该格式的文件经过优化占用很小的内存。在执行的过程中,每一个应用程序即一个进程(Linux 的一个Process) 。二者最大的区别在于Java VM 是以基于栈的虚拟机(Stack-ba

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

24、iver)、音频驱动(Audio Driver)、Wi-Fi驱动(Camera Driver)、键盘驱动(KeyBoard Driver)、蓝牙驱动(Bluetooth Driver)、Binder IPC驱动(Android一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能)7。2.4 Android 应用程序构成Android应用程序与其他很多计算机平台的应用程序不同,他们没有唯一的启动入口,一个Android应用程序是由多个不同组件组合而成,组件间通过Intent实现通信。Android系统的基本组件包括Activity、Service、Broadcast Receiver和C

25、ontent Provider等,要实现组件间通信,还需要Intent消息组件。并不是每个Android应用程序都必须具备这四个组件,很多时候只需要这四种中的某几种就可以了。除此之外,应用程序的所有组件还都必须在AndroidManifest.xml中声明8。这是一个XML配置文件,这个配置文件用于定义应用程序的组件、组件的功能及必要条件等。这个配置文件是任何一个Android应用程序所必需的。2.4.1 ActivityActivity 可以说是开发人员最常用的组件,同时也属于Android 最基本的组成部分之一。Android 程序中,一般一个Activity 代表手机屏幕上的一屏。举例来

26、说,如果将手机比作一个浏览器,那么一个Activity 就相当于一个网页。在Activity 中,可以添加多个视图,然后为这些视图添加一些事件处理。这些视图可以是按钮、文本框、列表等。可以看到,Activity 的概念和网页的概念相当类似。一般一个Android 应用是由多个Activity 组成,同时这些Activity 相互之间可以进行跳转,例如,按下某个Activity 中的Button 按钮后,可能会跳转到一个其他的Activity。不过和网页跳转稍有不同,Activity之间的跳转可以有返回值,例如,在Activity A 跳转到Activity B 后,那么当Activity B运

27、行结束时,可能会返回给Activity A 一个值。在多个Activity 交流的过程中,这种返回机制是相当实用的。当用户进入一个新的屏幕时,之前的屏幕会转入暂停状态,并且保存在历史堆栈中。正是由于历史堆栈的存在,用户可以通过返回操作,返回到之前打开过的所有屏幕。Android默认的是将应用程序从开始到当前的每一个屏幕都保存到堆栈中,不过与此同时,Android还提供了很方便的机制,让开发人员自定义某个屏幕是否需要保存到历史堆栈。Activity 的跳转实现,必须借助于Intent 类。因此Intent 在Android 应用中占据的地位是极其重要的。简单来说,一个Intent 就是对一个将要

28、执行的操作请求的抽象描述。Intent 的描述,主要包含有两个数据结构:动作(action)和动作对应的数据(data)。动作有很多种,系统中最常见的动作类型有:MAIN(表明该Activity 是应用程序的入口)、VIEW、PICK、EDIT 等等;而动作对应的数据一般以URI 的形式表示,例如:要查看某一个网页,则需要创建Intent,它的动作类型为VIEW,对应的数据应该是该网页的网址。值得一提的是,有一个类叫IntentFilter,它是Intent的相关类。如果说Intent是一个有效的操作请求,那么一个IntentFiler则用于描述一个Activity(或者Intent Rece

29、iver等)能够接收哪些Intent的请求。比如系统浏览器的Activity用于查看某一个网页,那么它用于接收Intent的IntentFilter,要定义类型为VIEW的动作并且能够过滤表示一个网页网址的URI。通常IntentFilter要被注册在AndroidManifest.xml文件中。Activity 之间的跳转正是通过解析各种Intent 来实现的。例如一个Activity 调用startActivity(intent)方法,希望跳转到其他的Activity 时,会触发系统的Intent 解析过程,在所有安装的应用程序中已注册的IntentFilter 中查找,并最终挑选出能够匹

30、配Intent 的Activity。然后这个新的Activity 因为接收到Intent 的请求而开始运行,完成Activity 的跳转。这种跳转机制提供了两个关键好处:(1)操作请求被Intent 封装起来,方便Activity 重复利用。(2)相互跳转的多个Activity 之间实现了松耦合。只要IntentFilier 保持不变,一个ctivity 可以随意修改,而不用担心其他Activity 找不到它。2.4.2 Broadcast Receiver应用程序可以通过Broadcast Receiver 监听一个外部的事件,并做出响应。例如,当应用程序需要对电话呼入这个外部事件做出反应时

31、,可以利用Broadcast Receiver 进行处理。再如,当一个后台下载任务成功的事件发生时,需要提示用户下载完成,仍然可以利用Broadcast Receiver 来进行处理。Broadcast Receiver不能生成UI,也就是说对于用户来说是透明的,用户是看不到的。Broadcast Receiver只能通过NotificationManager来通知用户这些事件发生了。Broadcast Receiver既可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。注册完成之后,当事件来临的时候,即

32、使程序没有启动,系统依然可以根据定义,自动启动程序。各种应用也可以通过使用Context.sendBroadcast()将它们自己的Intent Broadcast广播给其他应用程序。2.4.3 ServiceService是一种程序,它可以运行很长时间,但是它却没有用户界面,不可交互,而且不能自己运行。它需要通过某一个Activity或者其他的Context对象来调用12。最常见的例子,比如说用户正在运行一个音乐播放器的程序,此时如果想浏览网页,那么,在用户导航到Android的浏览器以后,虽然进入了浏览器屏幕,但是歌曲的播放并没有停止,而是在后台继续播放着。其实播放的动作正是由播放音乐的Service执行着。当然,如果需要的话,Service也是可以停止。通过startService(Intent service)可以启动一个Service,通过Context.bindService()可以绑定一个Service。2.4.4 Content Provider对于数据存储,Android与其他的操作系统有一点不太一样

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1