毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc

上传人:爱问知识人 文档编号:3940931 上传时间:2019-10-10 格式:DOC 页数:43 大小:1.69MB
返回 下载 相关 举报
毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc_第1页
第1页 / 共43页
毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc_第2页
第2页 / 共43页
毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc_第3页
第3页 / 共43页
毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc_第4页
第4页 / 共43页
毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc》由会员分享,可在线阅读,更多相关《毕业论文-基于Android平台的手机五子棋游戏的设计35921.doc(43页珍藏版)》请在三一文库上搜索。

1、 - 1 - 上海电力学院上海电力学院 本科毕业设计(论文)本科毕业设计(论文) 题 目:基于 Android 的五子棋游戏设计 院 系: 计算机与信息工程学院 专业年级: 2008 电子科学与技术 学生姓名: 王思超 学号: 20082618 指导教师: 金一鸣 2012 年 06 月 11 日 基于 Android 的五子棋游戏设计 - 2 - 摘摘 要要 移动互联网时代的到来极大的改变了我们的生活,而 Android 是一种以 Linux 为基础 的开放源码操作系统迅速占领了智能机操作系统,所以在 android 环境下开发显得尤为必 要。本文详细介绍了在 Android 平台上以 Ja

2、va 为语言编写游戏的过程。五子棋游戏的开 发不仅是一个简单游戏的编写过程,更重要的是在系统分析和设计阶段所做的工作。本文 在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述 了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用 surface 重 绘等数据存储功能,直到形成一个完善的可行性系统.界面美观、大方,方便的操作与良好的 视觉感应共同构成了“基于 Android 平台的五子棋游戏设计与开发”的设计。 关键词关键词: Android,Java,数据存储,软件工程,五子棋 - 3 - The five in a row game base

3、d on Android Abstract Arrival of the mobile Internet era has greatly changed our lives, and Android is a Linux-basedopen source operating system quickly occupied the smartphone operating syste m, Android developmentis particularly necessary under the circumstances. This paper focu s on a “based on t

4、he Android platform of Five in a Row game design and development “ program design and application system develoment issues as the background, introduces in detail in the Android platform to Java language write games for the process.The devel opment of the Quintet game is not just a progress of progr

5、aming. Whatsmore, we need to pay more attention to the work on the period of systematic analysis and design.The p rogram follows the software engineering strictly and narrates the major design and sectio n. Thisprogram maily talk about the period of the system design and the detailed design. And als

6、o it will study on the bug fixing and improvements. By using the some fuctiong of datalogging such as the surface, it build a practicable system. The nice and expert int erface and good visual introduction form the design which is based on the designing and development of Android platform Five-in-a-

7、row game. Key words: Android,java, Data Storage,Software Engineering, Five in a Row - 4 - 目目 录录 1 1绪论绪论 5 5 1.1 背景 7 1.2 课题来源 7 1.3 国内外研究现状 8 1.4 论文主要工作 8 2 2 ANDROIDANDROID 的开发环境的开发环境9 9 2.1 操作系统 9 2.2 ANDROID开发环境9 2.3 ANDROID开发环境变量配置.10 2.3.1 jdk 的配置 .10 2.3.2 sdk 的配置 .11 2.4 ECLIPSE设置 .11 2.5 AND

8、ROID开发环境配置最终步骤.12 3 3 ANDROIDANDROID 的架构分析的架构分析1212 3.1 ANDROID的功能特征.12 3.2 ANDROID架构分析.14 3.2.1 应用程序框架.14 3.2.2 类库.15 3.2.3 Android 运行时的组件 .16 3.3 ANDROID应用的构成和工作机制.16 4 4 ANDROIDANDROID 应用程序架构结构剖析应用程序架构结构剖析1616 4.1 应用程序基础 .17 4.2 应用程序组件 .17 4.2.1 活动(Activities).18 4.2.2 服务(Services).20 4.2.3 广播接收者

9、(Broadcast receivers)21 4.2.4 内容提供者(Content providers)22 5 5 程序的设计与实现程序的设计与实现 2222 5.1 程序的算法研究: .23 5.1.1 棋盘布局的数据结构.23 5.1.2 行棋坐标判定.24 5.1.3 胜负的判定.25 5.2 流程设计 .26 5.3 游戏的实现: .27 5.4 改进与优化 .29 总结总结 3030 参考文献参考文献 3131 附录附录 1 13232 - 5 - 1绪论 智能手机(Smartphone),具有独立的 操作系统,像个人电脑一样支持用户自行安装 软件、游 戏等第三方服务商提供的程

10、序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通 讯网络来实现 无线网络接入。目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美 国苹果、加拿大 RIM(黑莓) 、美国摩托罗拉、中国台湾宏达( htc)更是智能机中的佼佼者。 智能手机具有五大特点:1. 具备了无线接入互联网的能力,即要有 GSM 的支持网络下的 GPRS 或者是 CDMA 网络支持下的 CDMA 1X 或 3G 网络。2. 人性化,可以根据个人需要扩展机器的功能 。3. 它是具有开放性的操作系统,还可以安装非常多的应用程序,使得智能手机的功能可以得到无限 的扩展。4. 具有 PDA 功能,其中包括个人信息管理

11、、日程记事、任务安排、多媒体应用、浏览网页 。5.强大的功能,扩展性能强,第三方软件支持多。 Android 的诞生:从时间要追溯到 二零零三年,在参与到 Android 的传奇之前,它的创始人 And y Rubin 在周刊中这么说过:“在开发对于用户位置以及状态更加敏感的移动设备方面存在着巨大的潜 力”,他还说过:“很快他们就会在消费类产品中使用这些位置信息,如果开发者足够聪明的话。 ”现在 看起来他自己都没想到他的预言是多么的准确:实际上,移动领域将会发生巨变,从而催生出我们从 未见过的强大的智能手机。到二零零五 年有很多关于 Google 即将进军移动设备制造领域并专注于制 造基于位置

12、服务的手机的谣传,但最大的障碍就在于 Google 没有自己的可以达成这个目标的平台。 在二零零五 年 七月,Google 收购了 Android,这么一个小规模收购行动还是立刻引起了移动业 界的兴趣,它们怀疑这是 Google 进入移动市场的的标志。尽管如此,这个当时只是一个小规模的 移动软件开发公司正是由 Andy Rubin、Rich Miner、Nick Sears 以及 Chris White 四个人共同创建 的。现在看来,他们的怀疑是正确的。差不多两年半以后,在 二零零七 年 十一 月 五 日,Google 发布了 Android,它这个的发布给移动业界带来了一场可怕的风暴, ,基

13、于 Linux 的全新移动操作系统 。这不单单是一个全新的移动系统,非常重要的是:它是开源的。 这是当时新成立的开放手机联盟整合下的成果,诸如 Google、HTC、Intel、Sprint-Nextel、T-Mo bile 以及 NVIDIA 都是这个联盟的成员,该联盟的目的就是要创立移动设备的开放标准。第一款搭 载 Android 系统的手机是 2008 年 9 月由 T-Mobile 发布的 G1,它拥有 GPS 功能,3.1M 摄像头 ,以及一系列的 Google 应用。G1 的面市,正式拉开了 Google 以及整个移动业界激动人心的大冒 险的序幕。 Android 操作系统版本 A

14、ndroid 1.1 (发布于 2009 年 2 月) - 6 - Android 1.5 “Cupcake” 这是第一个主要版本,发布于 2009 年 5 月.这个升级之后,它的更新给 用户带来了新的体验。用户界面得到了极大的改良,并且增添了以下功能。 Android 1.6 “Donut” 2009 年 9 月发布。搭载 Android 1.6 的 HTC Hero 获得了意想不到的成功。 使得原来用许多都没有用过 Android 的人都对 Android 非常的关注,并且也让竞争者苹果和微软更加 警惕了。 Android 2.0/2.1: 2009 年 10 月 26 日,又一个主要版本

15、升级以创纪录的速度放出。这次,大版 本升级到了 Android 2.0/2.1 “Eclair.”。 Android 2.0.1 SDK 在 2009 年 12 月 3 日发布出来,后来是 2010 年 1 月 10 日发布的 2.1 版本。很多围观群众和用户可能会有点奇怪:“Android 为什么会被用甜点作为它系统版本的代号?”, 其实这个命名方法开始在 Andoird 1.5 发布出来的时候。每一个版本代表的甜点的尺寸就越变越大, 然后按照字母的数序:小蛋糕,甜甜圈和松饼。在这之前人们预计 2.2 版本的代号可能是“馅饼”,但 这个最终被证明是错误的, “FroYo”(冻酸奶)才是 An

16、droid 2.2 这个伴随 Google Nexus One 发布的 新版的最新代号。而下一个版本的代号将会是“姜饼”。Android 2.2 “Froyo”: Nexus One 的用户已经 开始接受 Android 2.2 “FroYo”的无线更新,其它机型的用户可能会在短时间内获取到这一更新的。 这一版本的更新出来会让大量让其他手机用户垂涎三尺。 有关的消息众口一词声称 Android 3.0 “Gingerbread”,Google 将会在今年秋天的某个时候发布 出来,它将带来给用户新的体验。 从 Android 的发展旅途中,我们看到 2003 年 Andy 他是一个有远见的人,看

17、到了 2005 年的起 步和被 Google 的收购,也看到了系统的进步以及新的机型的快速发布。所有这一切都让我们相信, Android 将会走向世界第一移动操作系统宝座的步伐是势不可挡的。Android 平板电脑也在今年的夏 天开始发布以及 Google TV 发布以后(也许还有 Google Music?),Android 可能真的会将继续带着 我们走向移动设备梦想的彼岸。 1.1 背景背景 在我们的生活中有许多的游戏,但是游戏不同,它也会给玩家带来不同的感受和生活理念。游戏 是我们日常生活的一个必不可少的娱乐项目,也带动了游戏相关产业市场的发展。游戏平台是经过从 游戏机到电视游戏,然后从

18、到 pc 游戏,到手机游戏,中间经历了很多的技术的更新和变革。但随着新 技术的发展和我们生活水平质量的提高,手机开始逐渐变为普及,因为手机是非常小巧便捷的,而且 方便的特性成为我们日常生活中必备通讯工具。而基于手机平台的游戏也就拥有的市场空间是巨大的 ,也因随着 3g 的开通和应用,手机游戏必然会迎来新的一轮游戏热潮! - 7 - 1.2 课题来源课题来源 现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够 运行一个小型的游戏。现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数 据。除了语音数据以外,它们还可以发送和接收其它类型的数据。所以这

19、样的网络游戏也可以在手机 上实现。短信类游戏就好像“虚拟宠物”那样。短信游戏是通过玩家和游戏服务商通过短信中的文字的 内容来交流,达到进行游戏的目的的一种文字游戏。 由于短信游戏的整个游戏过程都是通过文字来表 达,造成短信游戏的娱乐性较差。但是短信游戏却是兼容性最好的手机游戏之一。只要您的手机可以 发短信,您就可以畅快的享受短信游戏给您带来的快乐了。图形类游戏更接近我们常说的“电视游戏” ,玩家通过动画的形式来发展情节进行游戏。由于游戏采用了更为直观且更为精美的画面直接表现, 因此图形类游戏的游戏性和代入感往往较文字类游戏高。因此广受玩家们的欢迎。嵌入式游戏是一种 将游戏程序预先固化在手机的芯

20、片中的游戏。由于这种游戏的所有数据都是预先固化在手机芯片中的 ,因此这种游戏是无法进行任何修改的。也就是说,您不能更换其它游戏的,只能玩您手机中已经存 在的娱乐游戏,而且您也不能将它们删除。手机在网络游戏行业在多年的技术经验与运营经验的积累 与总结之后,到了 2009 年迫不及待的需要创新出新的游戏模式和崭新的运营模式来推动手机游戏市场 的爆发和发展。其中比较吸引人们的是手机的休闲类的游戏。应该可以说它是与 PC 网络游戏完全的 脱离开了,而且充分发挥了自身的优势手机终端。休闲类的游戏恰巧与之相反,只需要很少的网络流 量的网络环境,通过少量多次的游戏形式带给玩家流畅的游戏体验满足玩家瞬间提升的

21、快感,但是同 时却很难具有长期的“沉迷”性。 本题目是基于 Android 平台开发的一个小型的程序。其实都差不多,在有 JAVA 的智能手机上都 可以运行。其实手机是我们生活中不可缺少的工具,这些小游戏可以带给我们快乐和放松我们的心情 。无论什么样手机,我想买起来的时候上面就有一些它自带的各种小游戏,其中有一个独特的小游戏 也是非常重要的。 1.3 国内外研究现状国内外研究现状 Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。它包括操作系统、用户界面和 应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍 。Google 与开

22、放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电 和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google 通过与运营商、设备制造商、 - 8 - 开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平 台,在移动产业内形成一个开放式的生态系统。 Android 作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息“这一企 业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。谷歌 的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,A

23、ndroid 将补充,而不会替代谷歌 长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有 用又有吸引力的移动服务,并推广这些产品。 开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前,还需要不小 的耐心和高昂的投入。但是,我们认为全球移动用户从中能获得的潜在利益是值得付出这些努力的。 如果你也是一个开发者,并对我们的想法感兴趣,就请再给我们一星期的时间,届时谷歌便能提供 S DK 了。如果你是一名移动用户,只需再等一段时间,我们的一些合作伙伴计划在 2008 年下半年推 出基于 Android 平台的电话产品。如果你已经拥有

24、一部你了解并喜爱的电话,请登录 mobile.google.c om ,确保你已经安装谷歌手机地图、Gmail 以及其他一些专为你的手机开发的精彩应用。谷歌将继 续努力,让这些服务变得更好,同时也将添加更有吸引力的特性、应用和服务。 1.4 论文主要工作论文主要工作 此游戏主要是采用 Android 的 View 框架编写,部分框架运用 Android 中的其他组件。主要运用 了算法来实现对棋局的分析,棋盘输赢的判定。 UI 方面:此游戏当进入游戏的界面时,调用的是一个用相对布局-AbsoluteLayout 的 XML 布局文 件。其中包括了一个 IamgeView 和 4 个 Button

25、.分别实现了不同的功能。第一个 Button 是进入新游戏 ,点击按钮进入新游戏,来选择对手。第二个 Button 是帮助,用了一个 TextView 来说明怎样来进行 游戏。第三个 Button 是游戏的关于,用了一个 AlertDialog 来介绍了一下游戏的这个游戏的好处。第四 个 Button 是游戏的退出按钮。在游戏中,我用画线来不满了整个的手机屏幕,在上面用了 TextView 来进行了文字的说明和提示。 本篇论文,主要目的是为了探讨更加深入的理解 Android,为移动终端上的游戏软件的打造提供一 个思路。 - 9 - 2 Android 的开发环境的开发环境 本章将主要介绍如何

26、构建 Android 开发环境,包括获取 Android SDK、Eclipse 以及进行 Android Eclipse 插件设置等。 2.1 操作系统操作系统 目前只支持 XP(32-bit)、Vista(32/64-bit)、Mac OS X 10.4.8 或更新版本(x86)、Linux(只在 Linux Ubuntu Dapper Drake 上面做过测试)。 系统 XP sp2/sp3 32bit 来做讲解,其他系统的可以 google 一下差异,反正都大同小异的。 2.2 Android 开发环境开发环境 无论是官方还是我本人,都建议使用 eclipse 进行开发,当然,ecli

27、pse 版本要在 3.3 以上,这是官 方说法,3.3 以下我也没测过,3.3 (Europa)、3.4 (Ganymede) 都可以,java 版本或者 EE 版本也都没 问题的,可以到 eclipse 官方下载最新版本。因为开发是基于 java 的,所以 jdk 是少不了的,jdk 要求 是 5.0 或者 6.0,我还是用 5.0 比较多,可以到 sun 官方下载。 2.3 Android 开发环境变量配置开发环境变量配置 2.3.1 jdk 的配置 首先要到 sun 官方下载 jdk,注意的是下载 jdk 而不是下载 jre,因为 jre 是提供 java 的运行环境而 不是开发环境。s

28、un 官方网站是:http:/ 下载后安装是下的解压包那就解压到某目录,例如解压到是 C:Program FilesJavajdk1.5.0_14 右键点击我的电脑 - 属性 - 高级,点击下面的环境变量,在下面的“系统变量”处选择新建在 变量名处输入 JAVA_HOME 变量值中输入刚才的目录,比如我的就 C:Program FilesJavajdk1.5.0_14 。效果如图 2-1 所示: - 10 - 图 2-1 进入环境变量 确定后再新建一个变量名为 classpath,变量值为 %JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/t ools.jar ,

29、确定后找到 PATH 的变量,双击或点击编辑,在变量值最前面加上%JAVA_HOME%/bin; 注意里面的是,确定、确定、确定后即可。具体如下图 2-2 所示: 图 2-2 环境变量的设置 - 11 - 然后开始 - 运行 cmd,输入 java 或者 javac 看看有没有效果,如果出来一大堆其它的东西,那就 好了,如果出现类似 xxx 不是内部或者是外部命令之类的,那就说明你的设置有问题,看看那里出问 题然后加以改正。 2.3.2 sdk 的配置 因为我们要开发的 android 应用程序,所以下的 sdk 是 Google 那里下载,地址在 http:/developer.a 以后更

30、新后估计地址会变,所以大家可以从 http:/developer.android.co m/index.html 进入 android 主页,然后点击 sdk 就到了这个下载页面,我是 XP,当然下载了第一个 Wi ndows 的版本。下载后解压到一个目录,如是 D:SDKandroid-sdk-windows-1.5_r3android-sdk-windows -1.5_r3 然后同样要设置环境变量,同 jdk 设置,新建一个 SDK_HOME,值为 D:SDKandroid-sdk-win dows-1.5_r3android-sdk-windows-1.5_r3 ,然后找到 path,在

31、前面加上%SDK_HOME%tools; 就 OK 了 。和 jdk 一样,我们也可以测试一下环境变量是否设置成功,cmd 窗口中输入 android,出现一堆东西 ,就完成了。 2.4 eclipse 设置设置 当然,以上都搞定后,还不能马上用 eclipse 开发 android 应用程序,还必须添加 eclipse 插件才行 ,幸好这步骤非常轻松,打开 eclipse 后,点击菜单栏的 help - install new software. 然后点击 Add 会出来一个 Add Site 的窗口,这里 Name 输入 android(自己取个就是了),location 中输入插件的网络

32、 地址: https:/dl- 然后就等待连接了,然后 install,把“Android DDMS“ 和 “Android Development Tools“都选中,f inish 就可以了,可能有段时间会去计算插件占用资源情况,慢慢等会。完成后会提示重启 eclipse 来加 载插件,ok 重启,就可以用了。 2.5 Android 开发环境配置最终步骤开发环境配置最终步骤 为什么要有这个步骤,是因为运行了 example 的时候总会出现“Failed to find an AVD compatible with target”,所以在这里写一下该步骤来提供大家的方便。 avd 必须在运

33、行实例之前前创建好,这个时候可以直接在 cmd 中输入 android list,就会列出几个 由 avd 创建的 api,如果有 id1 id2 id3 分别对应 sdk1.1 sdk1.5 GoogleAPIs。 然后就运行 android create -name myname(取一个英文的名字) -target 3(如果要用 sdk1.5 就输入 - 12 - 2,1.1 输出 1) 3 Android 的架构分析的架构分析 3.1 Android 的功能特征的功能特征 (l)应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以 直接调用这些组件来使用,可

34、以节省开发应用程序的心力及时间。 (2)Dalvik 虚拟机器:在 Android 平台上所使用 Java 虚拟机,不是 Sim 公司的标准 Java 虚拟机,而 是使用 Google 自主开发的代号为 Dalvik 的虚拟机,它在保证 API 方面的兼容的同时,针对移动手机 进行了大幅优化,占用资源更小,运行效率更高。 (3)集成的浏览器:集成的浏览器是 Android 内建的浏览器,是以 WebKit 的浏览引擎为基础所开发 成的。WedKit 是一个开源浏览器网页排版引擎,目前使用 WebKit 引擎的浏览器主要有:Safari,Midori ,Epiphany 等。配合 Android

35、 手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放 网页上的资讯、触控式的操作等效果。 (4)优化的绘图能力:在程序里可以用到的绘图功能分为 2D 与 3D 两个方面。在 2D 方面,Android 提供了一套特有的类库(SGL;而在 3D 方面则是使用 OpenGLES1.0(openGL for Embedded systems)规范 的类库。它们是一种非常快的图形引擎,并且支持硬件加速。 (5)SQLite 数据库:SQLite 提供结构化的数据存取。SQLite 是一款轻型的数据库,它的设计目标是 嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够

36、支持 Windows/Linu x/U nix 等主流的操作系统,同时能够跟很多程序语言相结合,比如 php,Java 等,还有 ODBC 接口 ,同样比起 Mysql,PostgreSQL 来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个 储存在单一磁盘文件中的完整数据库,体积小只有 250KB 但支持数据库大小至 2TB。它虽然很小巧, 但是支持的 SQL 语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite 也 是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合在手机上使用。 (6)多媒体的支持能力:主要用于播放媒体文件。这同时包括对

37、音频(如播放 MP3 或其他音乐文件等)和 视频(如播放从网上下载的视频)的支持,并支持“播放 URI 地址”(Note:URI 即是统一资源识别地址) 模式在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF 等格 式。 (7)GSM 技术:Global System for Mobile Communications,即全球移动通讯系统,俗称”全球通” - 13 - ,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共 同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。GSM 技术是属于手机硬件方面的 展现,也

38、是在开发 Android 应用程序时可以突出的特点之一。 (8)蓝牙、EDGE、3G 及 Wi-Fi:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代 短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM,Evolution),即增 强型数据速率 GSM 演进技术。EDGE 是一种从 GSM 到 3G 的过渡技术,它主要是在 GSM 系统中采 用了一种新的调制方法,即最先进的多时隙操作和 SPSK 调制技术。由于 8PSK 可将现有 GSM 网络采 用的 GMSK 调制技术的信号空间从 2 扩展到 8,从而使每个符号所包含的信息是原来

39、的 4 倍。Wi-Fi( WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技 术。该技术使用的是 2.4GHz 附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标 准有两个,分别是 IEEE802.lla 和 IEEE802.11b。这些通讯能力也是属于手机硬件方面的展现,也是在 开发 Android 应用程序时可以突出的特点之一。 (9)GPS: Global Positioning System,即全球定位系统,它是一个由覆盖全球的 24 颗卫星组成的卫 星系统。这个系统可以保证在任意时刻和任何地点都可以同时观测到 4

40、颗卫星,以保证卫星可以采集 到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶 、车辆以及个人。这个同样也是属于手机硬体方面的体现,也是在开发 Android 应用程序是可以突出 的特点之一。 3.2 Android 架构分析架构分析 图中显示的是 Android 架构的五个主要部分。 3.2.1 应用程序框架 在 Android SDK 中,定义了让开发者使用与核心应用程序相同 API 的权限应用程序框架是为了 要简化组件的重新利用而设计的,应用程序可以发布功能为其它应用程序所使用。但是,这要受限于 应用程序架构的安全机制,使用者以用同样的机制来新增、置

41、换组件。目前所有的应用程序是由服务 及系统来组成,包含有: (l)一套强大和可扩展的视图系统:用来建构一个应用程序的基本组件,包了在开发系统画面时,常 用的列表、网格、文本框、按钮等控制项,甚至是内嵌的 Web 浏览器。 - 14 - 图 2-1 Android 架构的五个部分 (2)内容提供者:使应用程序可以访问另一个应用程序的数据(如联系人数库),或者共享它们自己的 数据。 (3)资源管理器:提供各种非程序代码的资源让应用程序去使用。例如:本字符串、图形文件或排版 相关的布局文件。 (4)通知管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息。 (5)活动管理器:管理所有应用程序的

42、生命周期及提供常用的导航回退功能。例如:启动应用程序要 用到的资源准备及关闭应用程序时释放内存及相关资源等工作。 (6)视窗管理器:用来管理所有启动程序的视窗。 (7)位置管理器:用来管理地图服务的相关功能。 (8)电话管理器:用来管理用户拨打与接听电话的相关功能。 (9)包管理器:管理所有安装在 Android 系统内的包。 3.2.2 类库 在 Android 中包含一些 C/C+的类库,这些类库能被 Android 系统中不同的组件来使用。开发者 可以通过应用程序框架使用这些功能。部分核心类库列表如下: (1)surface Manager:主要的功能是让开发者可以去存取/显示系统及管理

43、的功能,在显示与存取 操作间的对应、互动以及实现无接缝的 2D/3D 多应用程序之间的整合。例如:在 2D、2D 显示上的合 成、叠合动作。 - 15 - (2)3Dlibraries:主要是依 openGLES1.0 规范所定义的 3D 绘图引擎。该库使用硬件加速(当硬件可用 时),可以将硬件的 3D 功能做最佳化的处理显示。 (3)SGL:主要是处理有关显示 2D 方面的绘图引擎。 (4)Media Frame work:主要是以 packetVideo 公司的 OpenCORE 为基础所发展的多媒体类库,该库 支持回放和录制大量流行的音视频格式和静态图片。例如:MPEG4、H.264、M

44、P3、AAC、AMR、JPG 、PNG、GIF 等格式 (5)Free Type:主要是用来显示点阵图和处理向量字形的。 (6)SSL:(secureSocketsuyer),中文名为“安全套接层协议层” ,它是网景公司提出的基于 WEB 应用 的安全协议,当前版本为 3.0。SSL 协议指定了一种在应用程序协议(如 HTTP、Telenet、NMTP 和 FT P 等)和 TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、 消息完整性以及可选的客户机认证。它已被广泛地用于 Web 浏览器与服务器之间的身份认证和加密数 据传输。SSL 协议位于

45、TCP 胆协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协议可分 为两层:SSL 记录协议(SSL Record Proto col):它建立在可靠的传输协议(如 TCP)之上,为高层协议提供 数据封装、压缩、加密等基本功能的支持。SSL 握手协议(SSL Hand shake proto col):它建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密 钥等。SSL 协议提供的服务主要有:认证用户和服务器,确保数据发送到正确的客户机和服务器;加 密数据以防止数据中途被窃取;维护数据的完整性,确保数据在传输过程中不被改变。 (7)

46、SQLite:SQLite 是一套开放性的关联式资料库,能够被所有应用程序使用的轻量级的关系数据库 引擎。 (8)web Kit:是一个先进的网页浏览器引擎,被用来构建 Android 浏览器和内嵌的 web 视图,也可 以让开发者利用这个引擎来做不同的应用。 (9)lib c:就是一个 BSD 标准 C 类库。但是,针对 Linux 嵌入式装置进行过最佳化的调整。 3.2.3 Android 运行时的组件 虽然 Android 是用 Java 语言来开发、撰写应用程序,但却不使用 Java 运行时组件来执行 Java 程 序,而是使用了由 Google 自行研发的 Android 运行时组件

47、来执行程序。Android 运行时组件包括两个 重要的部分,一个是核心类库,另一个是 Dalvik 虚拟机。 - 16 - 3.3 Android 应用的构成和工作机制应用的构成和工作机制 对于一个 Android 应用程序来说,是由 Activity、IntentReceiver、Service、Content Provider 四部 分组成,但并不是每一个 Android 应用程序都必须由这四部分组成。在应用程序中使用时,需要在配 置文件 AndroidManifest.xml 中进行配置。这个配置文件是每个 Android 应用程序所必需的,用于定义 应用程序的组件、组件的功能以及必要条

48、件等。Android 应用的构成和工作流程如图 2-2: 图 2-2 Android 的构成和工作流程 4 Android 应用程序架构结构剖析应用程序架构结构剖析 本章将会详细叙述 Android 的应用程序所包括的基本组件,还有这些组件之间的沟通方式 Intent(除了 Contentprovider),同时讲解一下 Android 应用程序的生命周期(Activity)这是其他智能收 与 Android 手机平台最显著不同的地方。最后将介绍在 Android 的应用程序中如何利用下载外部资源 。 4.1 应用程序基础应用程序基础 Android 的应用程序全部都是用 Java 编程语言所写的。编译后的 Java 代码包括应用程序要求 的任何数据和资源文件,是通过

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1