《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.4节Hello Android应用程序的开发-阿里云开发者社区

开发者社区> 异步社区> 正文

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.4节Hello Android应用程序的开发

简介:
+关注继续查看

本节书摘来自异步社区《Android 3D游戏开发技术宝典——OpenGL ES 2.0》一书中的第1章,第1.4节Hello Android应用程序的开发,作者 吴亚峰,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 Hello Android应用程序的开发
Android 3D游戏开发技术宝典——OpenGL ES 2.0
本节首先将介绍如何在Eclipse中创建一个基于Android的Hello World应用程序,之后将简单介绍Android应用程序的调试,为读者以后学习高级开发铺平道路。

1.4.1 第一个Android应用程序
本小节将向读者介绍如何在Eclipse中创建一个基于Android的Hello World应用程序,基本步骤如下所列。

(1)首先打开Eclipse,然后依次选择File|New|Project(如图1-33所示)或者单击按钮后,系统将弹出新建项目对话框,如图1-34所示。


862c66e61791413fe8ac8f66101048efa14078f8

(2)在新建项目对话框中选择Android Project,然后单击“Next”按钮(如图1-35所示),弹出New Android Project对话框,如图1-36所示。

(3)在New Android Project对话框中输入项目的名称(在这里输入的是Sample1_1),在Build Target中选择项目的目标版本(这里选择的是Android 2.3.1版),如图1-37所示。

(4)接着在Application name中输入应用程序的名称(这里输入的名称与Project Name中的相同,当然也可以不同);同时在Package name中输入程序的包名(这里输入的是com.bn.Sample1_1);最后输入Activity的名称(在这里输入的是Sample1_1_Activity);最后在Min SDK Version中输入应用程序最低支持的版本Level(这里输入的是9,代表Android 2.3.1版)。整体情况如图1-38所示。


abd99cf0f700a9b8b3ebcd331309182995f6fda6

提示 创建项目时输入项目的包名时,需要至少使用二级包名,否则在该对话框上方会显示“Package name must have at least two identifiers”错误信息。
(5)最后单击“Finish”按钮(如图1-39所示)完成项目的创建,此时在Project Explorer中会自动添加创建的项目,如图1-40所示。

(6)在Project Explorer中选择本项目,然后单击鼠标右键,在弹出的快捷菜单中依次选择Run As|Android Application运行本程序(如图1-41所示)或者单击按钮运行本程序,运行效果如图1-42所示。


37ec7b184b228c5505c7bab806c32707d622ef0c


7da979e3e578898f650ff4547dd7d9c5c2e7d452

从上述步骤中可以看出,使用Eclipse创建并运行一个Android应用程序是非常容易的。

1.4.2 Android应用程序的项目结构
上一小节介绍了如何通过Android SDK自动生成Android项目,但是没有对该项目中的内容及组成进行介绍。本小节将对Android项目中的各重要组成部分逐一进行介绍,如图1-43所示。


f3f2120e0c848f15a8e7857c034ced2be73257e5

1.src源代码文件夹
该文件夹下存放了应用程序中所有开发的Java源代码。要注意的是,在更为复杂的项目中,该文件夹下可以有很多不同的包用于存放不同功能目的的源代码。

2.gen文件夹
该文件夹中存放的是Eclipse中ADT插件自动生成的R.java文件。实际上R.java定义了一个R类,其中包含应用程序的用户界面、图像以及字符串等资源的编号。也就是每有一个资源实例,系统就为其在R类中生成一个相应的编号。这些编号都是系统自动生成的,用户不应该修改。

3.assets文件夹
该文件夹用于存放应用程序需要使用的一些外部资源,如音频、视频、数据文件等。在应用程序中可以使用“getResources().getAssets().open("aa.mp3")”得到指定资源文件的输入流。

4.res资源文件夹
该文件夹下一般有drawable系列、layout及values 等文件夹,下面对这些文件夹逐一进行介绍。

drawable系列文件夹。该系列文件夹一般有drawable-hdpi、drawable-mdpi、drawable-ldpi 3个文件夹,这3个文件夹分别用来存放不同分辨率目标设备的图片资源。当应用程序在目标设备上运行时,系统会自动根据目标设备的分辨率选择对应文件夹下的图片使用。
layout文件夹。该文件夹下包含了所有使用xml格式的界面描述文件,这些文件用于表述应用程序中用户界面的布局。具体的开发中读者会体会到,用这种方式进行布局的开发比传统的使用Java源代码开发布局要方便简捷得多。
values文件夹。本文件夹中包含了一些xml格式的资源描述文件,一般包括string.xml(字符串资源)、color.xml(颜色资源)、style.xml(样式资源)等。
5.AndroidManifest.xml文件
此文件是整个应用程序的描述文件,应用程序中所需要的各个组件均需要在此文件中说明。同时,应用程序需要的一些权限,如网络访问权限、I/O读取权限等,也需要在此文件中进行声明。

提示 除了上述文件夹及文件外,还有一个一般开发时不需要直接使用的default.properties文件。此文件为项目的配置文件,一般不需要人为改动,系统会自动对其进行管理,有兴趣的读者可以自行打开查看。

1.4.3 Android应用程序的调试
Android SDK提供了一个强大的调试工具DDMS(Dalvik Debug Monitor Service),通过DDMS可以调试并监控Android程序的运行,打开DDMS的方法如下。

一般情况下在Eclipse中安装了ADT插件后,Eclipse窗口的右上侧会有DDMS的选项按钮,如图1-44所示。单击它即可切换到DDMS界面,如图1-45所示。


b82b143a5c7cd70886f295fcb142eb2dd36fe9b1

1.System.out.println方法
首先介绍Java开发人员十分熟悉的System.out.println方法,其在Android应用程序中的使用方法与传统Java中相同,具体步骤如下。

提示 在这里就不再创建新的Android项目了,直接使用的是上一小节已经创建的Android项目(Sample1_1)。
首先在Eclipse中打开src文件夹下的com.bn.Sample1_1包中的Sample1_1Activity.java文件。
然后在setContentView(R.layout.main)语句后面添加代码System.out.println(“the first”)。
代码修改完成后,再次运行本应用程序。
应用程序运行后打开DDMS,找到LogCat面板,单击其中的(debug)按钮,如图1-47所示。
在LogCat面板下的Log选项卡中可以看到输出的打印语句,如图1-48所示。


892b0a8ad78040af1c7a6eb10534911ec2e53183

有时可能觉得在Log中的输出信息太多,不便于查看。这时可以在LogCat中添加一个专门输出System.out信息的面板。单击DEBUG按钮右边的(Create Filter)按钮,系统会弹出Log Filter对话框,在Filter Name输入框中输入过滤器名称,在by Log Tag中输入用于过滤的标志,如图1-49所示。

说明 由于输出的语句主要有System.out.println(换行),System.out.print(不换行)两种,所以设置by Log Tag中的内容为System.out以进行过滤。
此时再次运行应用程序观察输出的情况,在LogCat下的System面板中将会只存在System.out的输出信息,效果如图1-50所示。


3d7780f48840994d06a76b9067ff705992094740

2.android.util.Log类
除了Java开发人员熟知的System.out.println方法外,Android还专门提供了另外一个类android.util.Log来进行调试信息的输出。下面将介绍Log类的使用,具体步骤如下。

在Sample1_1Activity.java中注释已经添加的打印输出语句“System.out.println(“the first”);”,然后在后面添加代码“Log.d(“Log”, “the first Log”);”。
运行程序,在DDMS中找到LogCat面板,切换到Log页面,观看打印的内容,如图1-51所示。


7c3f6d8a1cc109fa7656a9e4eeac541c287f3c8d

提示 使用Log类时需要使用import android.util.Log语句进行导入,System.out.println方法与android.util.Log类各有优缺点,读者可以在开发项目时自行体会,选用自己所需要的。 同时需要注意的是,DDMS还有很多强大的功能,这里只介绍了其最基本的用法,有兴趣的读者可以参考2011年9月人民邮电出版社出版的《Android应用案例开发大全》一书的第1.4节“DDMS的灵活应用”或参考其他技术资料。

1.4.4 实际设备的联机调试
由于模拟器在实际项目开发中不是很方便,主要体现为性能较差、很多功能不支持(如本书要重点讨论的OpenGL ES 2.0),因此实际开发中一般使用真机对开发的应用程序进行调试。本小节将介绍实际设备联机调试的方法,基本步骤如下。

下载与真机型号相匹配的驱动程序(注意部分手机自带驱动程序,无须下载)。
用数据线将手机和开发PC相连接。
根据提示,在PC上安装手机驱动程序。
将手机设置为允许安装未知来源软件,并打开手机上的USB调试。这两项设置都可以在手机设置选项下的应用程序项目中找到,根据手机具体型号的不同可能略有区别。
再次运行前面开发的应用程序,系统将弹出Android Device Chooser窗口,如图1-52所示。


db1754501ca0b910e05c09ac098b2ad432e88a08

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
[Android]Android开发入门之HelloWorld
引言:在做Unity开发的时候,发现这么个问题,虽然Unity是跨平台的,能够进行Android,IOS,Web,PC等开发,但如果要实现一些稍微系统层的东西,还是需要通过通信,调用原系统的接口(自定义的接口)来进行开发的,所以这还是需要了解其他平台原生态的开...
1086 0
如何发布你的Android应用程序
  本文是从 Some Things To Know About Publishing Android Apps 这篇文章翻译而来。     到目前为止,在Android交易市场(Android Market)里,已经有我的2个应用程序了,所以,我想写出一点关于Android应用程序发布过程的东西,用来告诉那些想发布自己的应用程序的朋友们,在发布过程中会遇到哪些的事情。
972 0
如何使用 GeoTrellis 和 React 构建地理处理应用程序
这篇博文是使用 GeoTrellis、Akka HTTP和 React 创建GIS处理的网页应用程序的指南。翻译自凯利·英尼斯 (Kelly Innes)的博客。
160 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载