基于Android的会说话的汤姆猫的设计与实现论文
致谢 44
外文原文 45
外文翻译 57
1绪论
1.1课题背景
随着Android系统的迅猛发展,它已经成为全球范围内具有广泛影响力的操作系统。Android系统已经不仅仅是一款手机的操作系统,它越来越广泛的被应用于平板电脑、可佩戴设备、电视、数码相机等设备上,这也造就了目前Android的迅速发展。
随着人们生活质量的提高以及智能手机的普及,人们的业余生活质量要求也在不断提高,运行在Android平台上的游戏深受大家的喜爱,选择一款好玩的,精美的和好的音效的游戏已经成为人们的一种流行的休闲方式。可以说在人们的日常生活中除了工作和学习,玩自己喜欢的游戏正成为一种时尚,并且休闲类的游戏是覆盖年龄最广的一类游戏之一,休闲类游戏曾经给了不少玩家一个美好的回忆,也是目前游戏平台非常广的一类游戏。所以开发出大家都喜欢的,高品质的休闲互动游戏,将会受到人们普遍的欢迎,让人们在工作休息之余能够享受到游戏的快乐,也是一款游戏真正成功的意义。
1.2 国内外研究现状及分析
Android是由Google公司为首的OHA推出的一款开放的嵌入式操作系统平台,从2008年推出的android SDK 1.0到现在,android SDK的版本已经升级到了最新的5.0,android正在以前所未有的速度聚集着来自世界各地的开发者,越来越多的创意被应用到了android应用的开发中,大有席卷整个手机行业的趋势。
说道Android系统,是Google公司于2007年11月5日宣布的基于Linux平台的开源操作系统的名称,Android平台由操作系统、中间件、应用软件和用户界面组成,是首个为移动终端打造的开放的和完整的移动软件。第一部Android智能手机发布于2008年10月。Android已经逐渐发展到其他领域上,如平板电脑、电视机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
Android的核心服务依赖于Linux 2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。由于Android带有相当浓郁的Linux血统,也就意味着它拥有开源Linux的各种优点:安全,运算速度快,易于开发等等。
正因为Android有如上所述的优点,所以它在国内有着相当强劲的优势,Android作为一款十分优秀的移动开发平台十分适合国内的开发环境,尤其是中小企业开发团队低成本以及源代码的开放分享可以为企业节省大量的资金,这对于中小型开发团队无疑是巨大的诱惑。
随着Android系统的盛行,国内外的开发团队已经逐渐壮大起来,基于Android的应用开发已逐渐备受关注,而手机游戏的开发历来是移动开发中最重要的一部分,并且休闲类的游戏是覆盖年龄最广的一类游戏之一,休闲类游戏曾经给了不少玩家一个美好的回忆,也是目前游戏平台非常广的一类游戏。所以开发出大家都喜欢的,高品质的休闲互动游戏,将会受到人们普遍的欢迎,所以我决定开发一款基于Android的会说话的汤姆猫游戏。
1.3 论文各部分内容简介
本课题是在Android平台上开发的一款宠物类休闲游戏,主要内容如下:
本文首先论述了Android系统的背景和研究现状,紧接着对于Android开发平台的简介和搭建进行了详细的描述,然后对基于Android的会说话的汤姆猫的设计与实现进行了详尽的系统分析。最后讲述了系统各个功能模块的开发和实现,包括变声,动画,SplashActivity功能模块的描述和实现。
2 开发环境的介绍
2.1 Android的介绍
Android是一种基于Linux的开放源代码的操作系统,主要在移动设备中使用,如智能手机和平板电脑,由开放手机联盟和Google公司共同研究并开发。Android到目前为止尚未有过统一中文名称,在中国地区被称为“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机和平板电脑。2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授=权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2.1.1Android的版本介绍
Android在开始正式发行之前,拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于Android 1.5发布的时候。作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:纸杯蛋糕(Android 1.5),甜甜圈(Android 1.6),松饼(Android 2.0/2.1),冻酸奶(Android 2.2),姜饼(Android 2.3),蜂巢(Android 3.0),冰激凌三明治(Android 4.0),果冻豆(Jelly Bean,Android4.1和Android 4.2)。
2.1.2Android的系统框架
1.Linux 内核层
Android 系统是基于 Linux 2.6 内核的,这一层为 Android 设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。
2.系统运行库层
这一层通过一些 C/C++库来为 Android 系统提供了主要的特性支持。如 SQLite 库提供了数据库的支持,OpenGL|ES 库提供了 3D 绘图的支持,Webkit 库提供了浏览器内核的支持等。
同样在这一层还有 Android 运行时库,它主要提供了一些核心库,能够允许开发者 使用 Java 语言来编写 Android 应用。另外 Android 运行时库中还包含了 Dalvik 虚拟机, 它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚 拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、 CPU 性能有限等情况做了优化处理。 Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底层之上构筑了一个名为“Dalvik”的虚拟机。因为Dalvik虚拟机的存在,Android系统的开发者只需使用谷歌提供的SDK(软件开发工具包)即可较为轻松的按照一套“规则”创建APP,不用顾忌硬件、驱动等问题,在每次执行应用的时候Dalvik虚拟机都会将程序的语言由高级语言编译为机器语言,这样当前设备才能够运行这一应用。 Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。 ART模式与Dalvik模式最大的不同在于,在启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。
3. 应用框架层
这一层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心 应用就是使用这些 API 完成的,开发者也可以通过使用这些 API 来构建自己的应用程序。
4. 应用层
所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是你从 Google Play 上下载的小游戏,当然还包括你自己开发的程序。
2.2 Android的开发平台介绍
2.2.1 Android SDK
谷歌提供的 Android 开发工具包,被软件开发工程师用于为特定的软件包、软件框架 (http:\/\/baike.baidu\/view\/10434053.htm" \t "http:\/\/baike.baidu\/_blank)、硬件平台、操作系统等建立应用软件的开发工具的集合。在开发 Android 程序时,我们需要通过引入该工具包,来使用 Android 相关的API。
2.2.2 Eclipse
相信所有 Java 开发者都一定会对这个工具非常地熟悉,它是 Java 开发神器,最好用的 IDE 工具之一。 Eclipse 支持极多的插件工具,使得它不仅仅可以用来开发 Java,还可以很 轻松地支持几乎所有主流语言的开发,当然也非常适合 Android 开发 。
除了 Eclipse 外,同样适合开发 Android 程序的 IDE 还有 IntelliJ IDEA、Android Studio等。其中 Android Studio 是谷歌官方近期推出的新 IDE,由于是专门为开发 Android 程序定制的,在 Android 领域大有要取代 Eclipse 的势头。不过本书中还是决定暂时继续使用 Eclipse,因为 Android Studio 才推出不久,恐怕还不够稳定。另外你将来的同事大多数应该还是用的Eclipse,如果跟他们选择不同的 IDE,在工作效率上可能要打点折扣了。
2.2.3 ADT
ADT 全称 Android Development Tools,是谷歌提供的一个 Eclipse 插件,用于在 Eclipse 中提供一个强大的、高度集成的 Android 开发环境。安装了 ADT,你不仅可以联机调试,而且还能够模拟各种手机事件、分析你的程序性能等等。
2.3 Android平台搭建步骤
1. 安装Java Jdk
在安装eclipse之前,应确保已安装了Java Jdk!
第一步:双击jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008进行安装
第二步:(可选)修改Java Jdk安装路径,这样便于环境变量配置。(也可以按照默认安装路径安装,只是配置环境变量时按照此路径即可)
第三步:点击“下一步”
第四步:(可选)修改jre安装路径,这样便于环境变量配置。(也可以按照默认安装路径安装,只是配置环境变量时按照此路径即可)。
第五步:点击“下一步”
第六步:点击“完成”
2.配置JDK
第一步:
变量名:JAVA_HOME
变量名:C:\jdk1.6.0_10
第二步:
变量名:classpath
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
第三步:
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3.测试Java Jdk安装是否成功
开始->运行->输入“javac”->“Enter”键,能打印证明安装成功!
4.安装并配置Android SDK(SDK Manager、AVD Manager)
安装Android SDK之SDK Manager
第一步:解压“android-sdk_r15-windows”,双击“SDK Manager”,加载预安装的安卓版本
第二步:点击Install 4 packages
第三步:选中“Accept”,点击“Install”安装
第四步:选中预安装的安卓版本,开始安装。选择的是“Android 4.1版本”,并安装了“tool”、“Extras”包。
第五步:其他都按照默认安装方式进行。
5.配置Android SDK之AVD Manage
Name:任意字母名称,但第一个字母必须大写!
Target:Android 2.1 – API Level 7
SD Card: 800 Mib
Skin:WVGA854
Hardware:
Abstracted LCD density 240
Max VM application heap size 24
6.Eclipse安装Developer Tools插件
解压“eclipse-java-indigo-SR1-win32”,双击“eclipse”,进入eclipse主界面
第一步:点击help->Install New SoftWare->Add按钮
Name:任意字母字符
Location:https://dl-ssl.google/android/eclipse/
第二步:加载完“Developer Tools”,点击选中其。
第三步:Next
第五步:选中“I accept the terms of the license agreements”,点击“Finish”
第六步:等待安装。也可点击“Run in Background”在后台运行安装。
第七步:点击“OK”
第八步:如果有其他提示,请按照默认安装方式。
7.Eclipse与Android SDK结合
打开eclipse -> window -> 在弹出菜单左侧,选中Android属性 -> 在SDK Location目录中选择之前解压缩的Android SDK目录 -> 点击Apply按钮,然后点击OK。
注释:LDK Location:为解压的“android-sdk_r15-windows”目录。
8.测试eclipse与android sdk、android avd结合是否成功
启动eclipse,左侧Package Explorer右击鼠标 -> New Project -> 选择Android中的Android Sample Project项 -> Next -> Next -> 任选一个实例。然后,在左侧Package Explorer中测试软件包上右击鼠标 -> Run As -> Android Application。
第一步:把锁屏打开
第二步:进入测试界面,如所选应用可以运行,证明成功!
3 需求分析
3.1系统需求分析
3.1.1 功能性需求分析
会说话的汤姆猫是基于Android平台下的宠物类应用游戏,游戏的界面良好,游戏操作也很简单,适合大部分Android用户。
该游戏汤姆猫为题材,内容有:汤姆猫通过用奇怪的声音复述用户说过的话和点击按钮触发汤姆猫不同的动作和声音,来与用户之间进行交互。它的基本功能如下:
(1)通过一直长摁录制按钮,松开后可使汤姆猫以滑稽的语言复述您曾近说过的话。会说话的汤姆猫这一款App应用最为津津乐道的功能是模仿。对着它讲话,它就会用它奇怪的声音重复一遍。对所有拥有这款游戏软件的玩家来说,让汤姆学说一些搞笑的话,然后把视频和声音与亲朋好友分享,比如节日问候,生日祝福的话,是件充满惊喜的事情。通过汤姆滑稽的声音,来给我们的生活带来欢声笑语。
通过触摸汤姆猫不同的身体部位,汤姆猫会有不同的反应。 对于游戏会说话的汤姆猫中,玩家么除了在注意其中汤姆猫可爱乖巧外,其中的对于动作的设计上更是加深游戏中的趣味多方向的体验和布置;而对于动作方面的设计,玩家所更需要熟悉其中的成功触发这些动作的主要操作就好。
(2)这些动作的设计其实不为别,而是为了增味和调剂环节一下游戏中的内容;其实在游戏中的内容评判中,游戏相关内容还是显得很枯燥——而恰恰在配合其中的这一款拟人化的汤姆猫,其中在发挥着微妙的作场景作用下,动作成分更是在视觉和与游戏趣味方面有着很大的附和亮化功能。
(3)点击游戏界面上的不同按钮,汤姆猫会出现不同的动画。
3.1.2安全性需求分析
该游戏不涉及到用户的真是信息,所以不会担心用户信息的泄露,不会对用户造成损害。
3.2可行性分析
3.2.1 技术可行性分析
Android系统平台是一个基于Linux开源的手机操作系统,它由Google公司于2007年11月5日正式发布,Android平台是由操作系统,中间件,界面和应用软件组成,Android的操作系统是开源的,Android手机操作系统的开源性,不仅可以让开发者在同一的平台上进行程序开发,而且可以解决当今市场上不同的智能机之间因为格式不同造成的信心交流不便,程序内容无法移植等问题;并且Android的开机源码就意味着手机使用者不必再被动的接受移动电话制造商默认的设施和环境,使用者完全可以根据自己的想法自定义手机的配置。通过学习Java和Android的知识即可实现会说话的汤姆猫这一App应用。
3.2.2 经济可行性分析
一个项目的开发成、运行费用和收益等这些因素决定了该系统是否值得去做,只有投资预计能带来利润的系统才值得进一步考虑。该系统的开发使用的是已经很成熟的语言和技术,系统的操作和维护都很简单,这些表明了该系统是一个低成本的系统,该系统的运行费用很低,完成此游戏的设计与开发只需要一台PC机,经济上不需要很大的投入,所以是可行的。