Android3D游戏案例开发大全(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-19 09:01:55

点击下载

作者:吴亚峰于复兴杜化美编著

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Android3D游戏案例开发大全

Android3D游戏案例开发大全试读:

前言

为什么要写这样的一本书

Android正以前所未有的速度聚集着来自世界各地的开发者,越来越多的创意被应用到Android应用程序开发中,大有席卷整个手机产业的趋势。而手机游戏在所有应用中占据着很大的比重,3D游戏正逐渐成为游戏中的主流。

面对如此火爆的Android大潮,一些有关Android的技术书籍也开始在各地书店上架。但是,纵观这些本来就为数不多的 Android书籍,却没有一本专门讲解 Android平台下利用 OpenGL ES进行3D游戏开发的案例书籍,读者如何把学习的Android知识系统地应用到实际项目中是许多读者进入实战角色前必备的技能。

本书正是在这种情况下应运而生的,作为国内第一本讲解Android平台下3D游戏开发案例的专业书籍,作者为这本书倾注了很多的心血。书中的案例涉及技术全面,涵盖了各种类型的游戏开发技巧,详细讲解了这些游戏开发时的思路和策划方案等。本书能够快速地帮助读者提高在Android平台下进行实际项目和3D游戏开发的实战能力。

内容导读

本书内容共分为 10章,涵盖了基于OpenGL ES平台开发的多种类型的3D游戏案例,详细地介绍了Android平台下3D游戏的开发流程。其中第2章~第6章为基于OpenGL ES 1.x平台开发的 3D游戏案例,第7章~第 10章为基于OpenGL ES 2.0平台开发的 3D游戏案例。全书各章主要内容安排如下。

第1章 Android平台简介及开发环境的使用

向读者介绍了Android的来龙去脉,并介绍了Android应用程序的框架,然后讲解了Android开发环境的搭建和调试。

第2章 棋牌类3D游戏——国际象棋人机对弈

本章介绍了人机对弈国际象棋游戏的开发,讲解了棋牌类游戏的开发思路,以及对弈算法的基本开发流程。本游戏最大的亮点就是采用 OpenGL ES 渲染引擎,真正模拟现实场景。棋子采用 3d Max制作,塑造的棋子逼真细腻,并且玩家可以在 3D场景中随意转动观察视角,感觉上如同身临其境一样,使玩家更能在手机中体味到无穷的乐趣。

第3章 物理引擎3D游戏——疯狂的石头

本章所介绍的游戏利用了2D的物理引擎,但是采用了OpenGL ES渲染引擎,界面精美细腻。该游戏属于闯关益智类游戏,玩法新颖独特,只要将游戏中的石头通过每关所设置的道具运送到指定位置就可取得胜利,如果在中途掉下,则游戏失败。通过本章学习,读者可以掌握物理引擎的使用。

第4章 蓝牙对战游戏——3D坦克对战

该游戏与读者常见的坦克大战有所不同,其最大的特色就是利用了蓝牙,读者可以通过蓝牙和好友的设备连接进行对战。本游戏为3D画面,场景绚丽,玩法惊险刺激,只要将对方击毁就可取得胜利。通过本章学,读者可以详细了解蓝牙对战游戏的开发思路。

第5章 竞速类游戏——快乐小球

本章所介绍的游戏属于竞速类。玩法是一个小球在一个管道内急速前进,玩家需要做的就是通过控制小球的方向或者跳跃躲避各式各样的障碍物,其中有些障碍物还可以直接撞碎,游戏中还有一些道具可以使用,如清屏炸弹、回血球等,玩家玩的时间越长分数就越高。

第6章 益智类游戏——3D推箱子

本章所介绍的游戏是3D版的推箱子。本游戏中设计的箱子有所不同,是半透明的“果冻”状态,十分精美。玩家需要做的就是,通过控制游戏人物Android机器人将“果冻”箱子推到指定位置,然后“果冻”箱子才会呈现出真正箱子的状态,只有所有箱子都推到指定位置,本关才可以通过。

第7章 物理引擎类游戏——3D抽方块

本游戏是利用物理引擎开发的一款3D游戏。游戏场景中有一组用小方块搭起来的塔,玩家需要做的就是,根据自己的判断小心地抽出塔中的小方块,而不使塔倒下,抽出的方块越多,得分就越高。如果抽取不当而使塔倒下,则游戏结束。

第8章 休闲类游戏——炫动方块

本章介绍的游戏灵感来源于 2D版的打砖块,但本游戏是通过OpenGL ES 2.0渲染的3D版炫动方块。游戏场景置身于一个管道中,画面绚丽多彩,光影效果变化丰富。玩法是通过控制管道一端的挡板,反弹小方块,将管道另一端的方块打击掉即可,如果没有接住小方块,则游戏失败。

第9章 体育竞技类游戏——3D乒乓球锦标赛

本章所介绍的游戏是人机对战版的3D乒乓球竞赛。玩家首先选择一个自己喜欢的国家队,然后通过控制一个乒乓球拍,以闯关的模式和各个国家队进行比拼,关卡越高,难道越大。游戏场景均为3D,细腻逼真,感觉如同身临其境一样,玩家能在手机中体味到无穷的乐趣。

第10章 体育竞技类游戏——3D极品桌球

本游戏是3D版本的桌球游戏。该游戏将场景置于3D场景中,包括小球的移动、碰撞,以及小球在灯光下的投影都是很真实的。本游戏可以切换第一人称视角和自由视角,还有小地图的显示,增加了游戏的可玩性。本游戏是使用OpenGL ES 2.0进行图像渲染的,场景效果更加绚丽,让玩家获得更好的游戏体验。

本书特点

1.技术新颖,贴近实战

本书涵盖了现实中所有的流行技术,如2D、3D、传感器、OpenGL ES、蓝牙、物理引擎,通过实例演示可以让读者很快地了解这些技术的使用。

2.实例丰富,讲解详细

本书既包括单机游戏的开发,也有网络对战游戏;既有通过OpenGL ES 1.x渲染的游戏,也有通过OpenGL ES 2.0渲染的游戏。游戏类型涵盖了当下流行的棋牌类、竞速类、益智类、休闲类、体育竞技类游戏。讲解深入透彻,详细到位。

3.案例经典,含金量高

本书中的案例均是精心挑选的,不同类型的案例有着其独特的开发方式。以真实的项目开发为讲解背景,包括了当下流行的游戏类型,讲解了开发时的思路,真实项目的策划方案,能够让读者全面地掌握3D手机游戏的开发,具有很高的含金量,非常适合各类读者学习。

为了帮助读者更好地利用本书提高自己的知识技能,本书附赠光盘中包含了所有案例的源程序。

本书面向的读者

· Android初学者

对于Android的初学者,可以通过本书第1章的内容巩固Android的知识,并了解项目开发流程。然后以此为踏板学习本书后面的案例,这样可以全面地掌握Android平台下3D游戏项目开发的技术与技巧。

· 有Java基础的读者

Android平台下的开发基于Java语言,所以,对于有Java基础的读者来说,阅读本书将不会感觉到困难。读者可以通过第1章的基础学习,迅速熟悉Android平台下应用程序的框架和开发流程,然后通过案例提高自己在实战项目开发方面的能力。

· 在职开发人员

本书中的案例都是作者精心挑选的,其中涉及的与项目开发相关的知识均是作者积累的经验与心得体会。具有一定开发经验的在职开发人员,可以通过本书案例进一步提高开发水平,并迅速转职成为具有Android项目开发实战经验的高手。

本书作者

吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998 年开始从事Java应用的开发,有10多年的 Java开发与培训经验。主要的研究方向为OpenGL ES、手机游戏、Java EE以及搜索引擎。同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技 Java培训中心首席培训师。近10年来为多家著名企业培养了上千名高级软件开发人员,曾编写过《菜鸟成长之路——Java程序员职场全攻略》、《Android 3D游戏开发技术详解与典型案例》、《Android应用案例开发大全》、《Android游戏开发大全》、《Android 3D游戏开发技术宝典——OpenGL ES 2.0》、《Unity 3D游戏开发技术详解与典型案例》等多本畅销书籍。2008年初开始关注Android平台下的3D应用开发,并开发出一系列优秀的Android应用程序与3D游戏。

于复兴,北京科技大学硕士,从业于计算机软件领域10年,在软件开发和计算机教学方面有着丰富的经验。工作期间曾主持科研项目“PSP 流量可视化检测系统研究与实现”,主持研发了省市级项目多项,同时为多家单位设计开发了管理信息系统,并在各种科技刊物上发表多篇相关论文。2008年开始关注Android平台下的应用开发,参与开发了多款手机3D游戏应用。

杜化美,西安电子科技大学硕士,有多年的 Java 程序开发与培训经验。曾参与两项国家自然科学基金项目,在国内外刊物上发表论文10余篇。同时兼任嵌入式独立软件工程师,在软件领域有8年的从业经验,最近3年致力于Android嵌入式系统的研究。

本书在编写过程中得到了唐山百纳科技有限公司 Java 培训中心的大力支持,同时仇磊、郭小月、李雪晴、宋盼盼、郑培阳、陈伟、章雅卓、付鹏、白冰、刘文洲、张鑫、郑小林、王海宁、王海峰以及作者的家人为本书的编写提供了很多帮助,在此表示衷心的感谢!

由于笔者的水平和学识有限,且书中涉及的知识较多,难免有错误疏漏之处,敬请广大读者批评指正,并多提宝贵意见,反馈邮箱javase6_guide@qq.com。编辑联系邮箱为zhangtao@ptpress.com.cn。编者

第1章 千里之行始于足下——Android平台简介及开发环境的使用

Android是Google公司于2007年11月5日发布的基于Linux内核的移动平台,该平台由操作系统、中间件、用户界面和应用软件组成,是一款真正开放的移动开发平台。

本章将介绍Android系统的起源、特点、应用程序框架以及开发环境的搭建,让读者对Android平台有个初步的了解,之后将导入并在手机上运行第一款 Android 程序 JengaMe,带领读者步入Android开发的大门。

1.1 Android的来龙去脉

Android的创始人Andy Rubin是硅谷著名的“极客”,他离开Danger移动计算公司后不久便创立了Android公司,并开发了Android平台,他一直希望将Android平台打造成完全开放的移动终端平台。之后Android公司被Google公司看中并将其收购。不久,号称全球最大的搜索服务商Google大举进军移动通信市场,并推出自主品牌的移动终端产品。到本书出版为止,Android已有5年的发展了,下面将带领读者简单回顾一下Android的发展历程。

· 2007年11月初,Google正式宣布与其他33家手机厂商、软硬件供应商、手机芯片供应商、移动运营商联合组成开放手机联盟(Open Handset Alliance),并发布名为Android的开放手机软件平台。

· 2010年10月份,谷歌宣布Android系统达到了第一个里程碑,即电子市场上获得官方数字认证的Android应用数量已经达到了10万个,Android系统的应用增长非常迅速。

· 2011年8月2日,Android手机已占据全球智能机市场48%的份额,并在亚太地区市场占据统治地位,终结了Symbian(塞班系统)的霸主地位,跃居全球第一。

· 2011年9月份,Android系统的应用数已经达到了48万,而在智能手机市场,Android系统的占有率已经达到了43%,继续排在移动操作系统首位。

· 2011年10月19日,谷歌发布全新的Android 4.0操作系统,这款系统被谷歌命名为 Ice Cream Sandwich(冰激凌三明治)。

· 2012年1月6日,谷歌Android Market已有10万开发者推出超过 40万活跃的应用,大多数的应用程序为免费。

· 2012年 10月30日,谷歌又发布了Android 4.2操作系统,被谷歌命名为 Jelly Bean(果冻豆)。

1.2 掀起Android的盖头来

自从Android发布以来,越来越多的人关注Android的发展,越来越多的开发人员在Android系统平台上开发应用,那是什么使Android备受青睐,什么使Android在众多移动平台中脱颖而出呢?

1.2.1 选择Android的理由

与其他手机的操作系统相比,Android具有如下优点:

· 开放性;

· 平等性;

· 无界性;

· 方便性;

· 硬件的丰富性。

下面将对以上各个优点进行简单介绍。

1.开放性

提到Android的优势,首先想到的一定是其真正的开放,其开放性包含底层的操作系统以及上层的应用程序等。Google与开放手机联盟合作开发Android的目的就是建立标准化、开放式的移动软件平台,在移动产业内形成一个开放式的生态系统。

Android 的开放性也同样会使大量的程序开发人员投入到 Android 程序的开发中,这将为Android平台带来大量新的应用。

2.平等性

在Android的系统上,所有的应用程序完全平等,系统默认自带的程序与自己开发的程序没有任何区别,程序开发人员可以开发个人喜爱的应用程序来替代系统的程序,构建个性化的Android手机系统,这些功能在其他的手机平台是没有的。

在开发之初,Android平台就被设计成由一系列应用程序组成的平台,所有的应用程序都运行在一个虚拟机上面。该虚拟机提供了系列应用程序之间和硬件资源通信的API。

3.无界性

Android平台的无界性表现在应用程序之间的无界,开发人员可以很轻松地将自己开发的程序与其他应用程序进行交互,如应用程序需要播放声音的模块,而正好你的手机中已经有一个成熟的音乐播放器,此时就不需要再重复开发音乐播放功能,只需简单地加上几行代码即可将成熟的音乐播放功能添加到自己的程序中。

4.方便性

在Android平台中开发应用程序是非常方便的,如果对Android平台比较熟悉,想开发一个功能全面的应用程序并不是什么难事。Android平台为开发人员提供了大量的实用库及方便的工具,同时也将Google Map等强大的功能集成了进来,只需简单的几行调用代码即可将强大的地图功能添加到自己的程序中。

5.硬件的丰富性

由于平台的开放,众多的硬件制造商推出了各种各样的产品,但这些产品功能上的差异并不影响数据的同步与软件的兼容,例如,原来在诺基亚手机上的应用程序,可以很轻松地被移植到摩托罗拉手机上使用,且联系人、短信息等资料更是可以方便地转移。

1.2.2 Android的应用程序框架

从软件分层的角度来说,Android 平台由应用程序、应用程序框架、Android 运行时库层以及Linux内核共4部分构成,本节将分别介绍各层的功能,分层结构如图1-1所示。▲图1-1 Android平台架构图

1.应用程序层

本层的所有应用程序都是用 Java 语言编写的,一般情况下,很多应用程序都是在系列相同的核心应用程序包中共同发布的,主要有拨号程序、浏览器、音乐播放器、通信录等。该层的程序是完全平等的,开发人员可以任意将Android自带的程序替换成自己的应用程序。

2.应用程序框架层

应用程序框架层是开发人员接触最多的层面。该应用程序的框架设计简化了组件的重用,其中任何一个应用程序都可以发布自身的功能供其他应用程序调用,这也使用户可以很方便地替换程序的组件而不影响其他模块的使用。当然,这种替换需要遵循框架的安全性限制。

该层主要包含以下9部分,如图1-2所示。▲图1-2 应用程序框架

· 活动管理(Activity Manager):用来管理程序的生命周期,以及提供最常用的导航回退功能。

· 窗口管理(Window Manager):用来管理所有的应用程序窗口。

· 内容管理(Content Providers):通过内容管理,可以使一个应用程序访问其他应用程序的数据,或者共享数据。

· 视图管理(View System):用来构建应用程序的基本组件,包括按钮、列表、网格、文本框,甚至是可嵌入的Web浏览器。

· 包管理(Package Manager):用来管理Android系统内的程序。

· 电话管理(Telephony Manager):所有的移动设备的功能统一归电话管理器管理。

· 资源管理(Resource Manager):资源管理器可以为应用程序提供所需要的资源,包括图片、文本、声音、本地字符串,甚至是布局文件。

· 位置管理(Location Manager):该管理器是用来提供位置服务的,如GPS定位等。

· 通知管理(Notification Manager):主要对手机顶部状态栏的管理,开发人员在开发Android程序时会经常使用,如来短信提示、电量低提示,还有后台运行程序的提示等。

3.Android运行时库

该层包含两部分,程序库及Android运行时库。

程序库为一些C/C++库,这些库能够被Android系统中不同的应用程序调用,并通过应用程序框架为开发者提供服务。而Android运行时库包含了Java编程语言核心库的大部分功能,提供了程序运行时所需调用的功能函数。

程序库主要包含的功能库如图1-3所示。

· libc:是一个从BSD继承来的标准C系统函数库,专门针对移动设备优化过的。

· Media Framework:基于PacketVideo公司的OpenCORE。支持多种常用音频、视频格式回放和录制,并支持多种图像文件,如MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG等。

· Surface Manager:Surface Manager主要管理多个应用程序同时执行时,各个程序之间的显示与存取,并且为多个应用程序提供了2D和3D图层无缝的融合。

· SQLite:所有应用程序都可以使用的轻量级关系型数据库引擎。

· WebKit:是一套最新的网页浏览器引擎。同时支持Android浏览器和一个可嵌入的Web视图。

· OpenGL ES:是基于OpenGL ES 1.0 API标准来实现的 3D绘制函数库。该函数库支持软件和硬件两种加速方式执行。

· FreeType:提供位图(bitmap)和矢量图(vector)两种字体显示。

· SGL:提供了2D图形绘制的引擎。

Android运行时库包括核心库及Dalivik虚拟机,如图1-4所示。▲图1-3 程序库框架▲图1-4 Android运行时库

· 核心库(Core Libraries):该核心库包括 Java语言所需要的基本函数及Android的核心库。与标准Java不一样的是,系统为每个Android的应用程序提供了单独的Dalvik虚拟机来执行,即每个应用程序拥有自己单独的线程。

· Dalvik虚拟机(Dalvik Virtual Machine):大多数的虚拟机(包括 JVM)都是基于栈的,而Dalvik虚拟机则是基于寄存器的,它可以支持已转换为.dex格式的Java应用程序的运行。.dex格式是专门为Dalvik虚拟机设计的,更适合内存和处理器速度有限的系统。

4.Linux内核

Android平台中操作系统采用的是Linux 2.6内核,其安全性、内存管理、进程管理、网络协议栈和驱动模型等基本依赖于Linux。对于程序开发人员来说,该层为软件与硬件之间增加的一层抽象层,使开发过程中不必时时考虑底层硬件的细节。而对于手机开发商而言,对此层进行相应的修改即可将Android平台运行到自己的硬件平台之上。

1.3 Android开发环境的搭建

本节主要讲述如何构建基于Eclipse的Android开发环境,之后在Eclipse中导入并在手机上运行第一个Android程序JengaMe。

1.3.1 SDK的下载及安装

前面已经对Android平台进行了简单的介绍,从本节开始,将带领读者逐步搭建自己的开发环境,具体的步骤如下。(1)登录Oracle官方网站 http://www.oracle.com/technetwork/java/index.html,单击 Java SE下载最新的JDK安装程序。(2)双击刚刚下载的JDK安装程序jdk-7u11-windows-i586.exe,根据提示将JDK安装到默认目录。(3)右键单击我的电脑,依次选择属性/高级/环境变量,在系统变量中新建一个名为JAVA_HOME,值为“C:\Program Files\Java\jdk1.7.0_11”的环境变量。(4)再打开Path环境变量,在最后加上“C:\Program Files\Java\jdk1.7.0_11\bin;”,单击“确定”按钮即可。(5)到 http://developer.android.com/sdk/index.html 页面下载最新的 SDK,本书使用的版本是 4.2,其他版本的安装与配置方法基本相同。(6)将下载好的SDK压缩包解压到C盘根目录下,如图1-5所示。▲图1-5 Android SDK安装环境(7)右键单击我的电脑,依次选择属性/高级/环境变量,打开Path系统环境变量,在其最后加上SDK的解压目录中的tools目录“C:\android-sdk-windows\tools”,单击“确定”按钮完成配置,如图1-6所示。

1.3.2 Eclipse集成开发环境的搭建

上一小节已经讲解了SDK的安装与配置,本小节将带领读者构建基于Eclipse的集成开发环境,具体步骤如下。(1)读者只需登录http://www.eclipse.org/downloads/即可下载最新版本的Eclipse安装程序,本书采用的版本是3.8.0。(2)将下载好的Eclipse安装程序解压到C盘根目录下,如图1-7所示。(3)双击C:\eclipse目录下的 eclipse.exe文件,运行Eclipse,再依次单击菜单Help/Install New Software项,如图1-8所示。▲图1-6 SDK环境变量配置▲图1-7 Eclipse安装目录▲图1-8 Eclipse的软件安装(4)单击弹出的Install界面中的“Add”按钮,在Name栏中输入任意的名字,并在Location栏中输入ADT的下载地址https://dl-ssl.google.com/android/eclipse/,如图1-9所示。▲图1-9 填写 ADT地址

提示

如果输入的地址不能正常下载 ADT,读者可以尝试将 https://dl-ssl.google.com/android/eclipse/改为http://dl-ssl.google.com/android/eclipse/。如果出现下载的ADT与已经安装的SDK版本不兼容的情况,可以手动下载ADT压缩包,然后单击“Archive”按钮选择手动下载ADT压缩文件即可安装,如图1-10所示。▲图1-10 选择 ADT压缩文件(5)在 Install界面上选中“Developer Tools”并单击“Next”按钮,如图 1-11所示。(6)在弹出的界面中,再次单击“Next”按钮进入下一界面,在下一界面中选择“I accept the…”,直接单击“Finish”按钮,如图1-12所示。之后进入安装进度条界面,等待安装,如图1-13所示。(7)Eclipse将弹出提示窗口,单击“Yes”按钮,系统将自动重启Eclipse,到此为止已经完成ADT的安装。(8)重启Eclipse后,依次选择Window/Preferences项,如图1-14所示。▲图1-11 选择 Develpoer Tools▲图1-12 ADT安装选择界面▲图1-13 安装进度条(9)在弹出的窗口中选择左侧的“Android”,然后通过单击右侧的“Browse”按钮来选择SDK的安装目录,单击“OK”按钮完成配置,如图1-15所示。

1.3.3 虚拟设备的创建与模拟器的运行

前几小节已经完成了Eclipse集成环境的搭建工作,但在运行模拟器前还需要创建AVD(Android Virtual Device,Android虚拟设备)。AVD实质上是用来描述模拟器属性的,有了AVD,开发人员可以为自己的模拟器进行必要的设置,如屏幕尺寸、内存等。本节将运用之前搭建好的Eclipse环境创建虚拟设备并运行模拟器,具体步骤如下。(1)在系统的开始菜单中单击“运行”按钮,在弹出的窗口中输入“cmd”进入命令行,如图1-16所示。▲图1-14 选择“Preferences”菜单▲图1-15 Preferences配置(2)通过 cd命令导航到 android的安装目录下的 tools下,并通过 android list target命令来显示当前可用的目标机,如图1-17所示。▲图1-16 启动cmd命令行▲图1-17 当前可用的目标机(3)然后通过 android create avd --name android21 --target 6命令创建一个名为 android21、目标机id为6的AVD,创建的AVD默认存放在我的文档下,而Android的AVD并不支持中文目录,可以通过配置ANDROID_SDK_HOME环境变量来指定所创建的AVD的存放位置。

提示

除了使用命令行方式来创建AVD外,还可以使用Eclipse自带的AVD Manager来创建。在Eclipse中依次选择“Window/Android Virtual Device Manager”打开AVD管理界面,如图1-18和图1-19所示。在AVD管理界面中不仅可以创建AVD,还可以对已经存在的AVD进行管理。▲图1-18 打开 AVD管理器▲图1-19 AVD管理界面(4)在 cmd命令行中导航到 android的 tools目录后,输入 emulator -avd android21命令启动Android模拟器,如果安装和配置正确的话,将出现如图1-20所示的模拟器界面。▲图1-20 Android2.1模拟器效果图

提示

运行模拟器时可能会很慢,有时甚至可能达到几分钟时间,如果没有报错,请读者耐心等待。

1.3.4 Eclipse与真机的连接

前面已经对Android的开发环境和模拟器的配置进行了讲解,本小节将对读者讲解Eclipse与真机的连接,因此,读者需要一部Android手机。(1)通过USB数据线将手机与计算机连接,首次连接计算机会提示安装驱动,此时安装驱动即可,该过程可能需要几分钟,请读者耐心等待。(2)进入手机的“系统设置——开发人员选项”中,将USB调试打开。

提示

如果驱动下载安装失败,读者可自行到该手机品牌的官方网站下载相应的最新的驱动。此外,不同的手机USB打开方式可能不同,详细步骤读者可参考该手机的使用手册。(3)打开Eclipse,点开DDMS查看Devices中手机是否与Eclipse连接,如图1-21和图1-22所示。▲图1-21 打开DDMS窗口▲图1-22 查看手机连接状态(4)上述步骤执行完毕后,读者就可以在手机上运行程序了,详细步骤参见下一节。

提示

如果面板上没有“DDMS”按钮,依次单击Eclipse右上角的Open Perspective/Other,如图 1-23所示。Eclipse将弹出“Open Perspective”对话框,如图 1-24所示,单击“OK”按钮后将Eclipse切换到DDMS视角。▲图1-23 打开 Open Perspective窗口▲图1-24 切换到DDMS视图

1.3.5 导入并运行Android程序

上一小节已经对手机如何与Eclipse连接进行了详细讲解,本小节将介绍如何在Eclipse中导入项目,并在手机上运行已经写好的 Android 程序。本节将以导入本书第 7章物理引擎类游戏——抽方块JengaMe为例进行详细讲解。具体步骤如下。

1.在Eclipse中导入项目(1)启动Eclipse,依次选择“File/Import”将弹出导入项目的窗口 Import,选择Existing Projects into Workspace,然后单击“Next”按钮进入下一界面,如图 1-25所示。(2)单击“Browse”按钮找到项目所在路径,然后单击“确定”按钮,如图1-26所示。(3)单击该界面上的“Finish”按钮,项目便导入Eclipse中。▲图1-25 切换到DDMS视图▲图1-26 查找项目路径

2.在手机上运行程序(1)参照上一节所述步骤将手机与Eclipse连接。(2)把该项目导入Eclipse中后,用鼠标光标选中该项目并右键单击,在出现的菜单中选择Run As,然后单击二级菜单中的Android Application,稍等片刻,该程序便安装在了手机上,如图1-27所示。(3)安装运行成功后,便进入程序的游戏界面,如图1-28所示。

1.3.6 Android程序的监控与调试

前面几个小节已经对Android应用程序的导入及运行进行了详细讲解,本小节将介绍如何通过 DDMS 来监控 Android 应用程序的运行以及如何调试 Android 程序。在调试过程中使用了android.util.Log类,该类简单易用。监控与调试的详细步骤如下。(1)打开刚刚导入的项目,依次选择 src/com.cw.game 找到 JangeMeActivity.java 文件,在第 48行 super.onCreate (savedInstanceState)之后添加“Log.d("TAG", "This is message!");”语句。▲图1-27 在手机上运行该程序▲图1-28 游戏界面(2)在项目名上单击鼠标右键,然后依次选择“Run As/Android Application”,运行该项目。(3)单击Eclipse右上角的DDMS,切换到DDMS视角。(4)LogCat显示在屏幕的下方,系统中所有的日志都将出现在LogCat中,通过对LogCat的观察可以详细了解Android程序运行的过程。▲图1-29 LogCat界面

提示

在程序的开发和调试过程中,少不了对文本的输出,而在Android程序的开发中,建议使用Log类来打印需要打印的文本。(5)在图 1-29 中可以看到,在程序中添加的日志输出,这样在程序的开发过程中可以随时使用Log类来打印需要打印的信息,而当LogCat中日志过多时,可以使用过滤器Filter通过对Tag进行过滤来筛选Log。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载