上一章建立了“HelloWorld”项目,代码全部由ADT插件自动生成,因此没有对其框架进行分析。每个平台都有自己的结构框架,本节对Android平台的目录结构、文件类型及其负责的功能和Android平台的main函数进行剖析。
有了前面两章的基础,现在展开上一章建立的“HelloWorld”项目,分析其目录结构,对Android项目进一步深入了解。首先启动Eclipse,展开“Package Explorer”导航器中的“HelloWorld”项目,如图3-1所示。
图3-1 “HelloWorld”项目
1.src目录
src目录存放的是项目的所有包及源文件(“.java”),展开后可以看到已创建的“MainActivity.java”文件。
2.gen目录
gen目录里的文件全部是自动生成的,里面存在一个“R.java”文件,这个文件非常重要,项目里添加的所有资源都会在这个文件里生成一个资源id。稍后详细讲解这个文件。
3.assets目录
assets目录主要存放一些随程序打包的文件,程序运行时可以读取这些文件的内容,但这个目录不经常用到。
4.bin目录
bin目录存放的是当前项目编译好的安装包,在当前项目下展开bin目录就可以看到“HelloWorld.apk”文件,还有一些编译时自动生成的文件。
5.libs目录(www.xing528.com)
如果项目中用到了第三方的Jar包,这些Jar包就会被放在libs目录下。放在这个目录下的Jar包会被自动添加到构建路径里。
6.res目录
res目录存放的文件较多,其结构如图3-2所示。
项目中使用到的所有的图片、布局还有字符串等资源全部都在res目录下,“R.java”文件中的内容也是根据这个目录的文件自动生成的。可以根据以下规则对res目录下的子目录分类,这样就清晰多了:所有以“drawable”开头的目录都是用来存放图片的,所有以“values”开头的目录都是用来存放字符串的,layout目录用来存放布局文件,menu目录用来放菜单文件。
图3-2 res目录的结构
延伸知识点
为什么会有这么多以“drawable”开头的文件夹呢?不同的文件夹里存放着同一张图片不同分辨率的版本,这样做的目的是让程序能兼容不同分辨率的设备。程序在运行的时候会根据当前设备的分辨率自动选择加载相应文件夹下的图片。
7.“AndroidM anifest.xm l”文件
程序中定义的所有组件都需要在这个配置文件里进行注册。另外,程序中需要用到的权限也需要在这个文件里声明。可以在这个文件里重新定义创建项目时指定的程序的兼容版本和最低版本。程序的版本号也会在这个文件里定义。
8.“project.properties”文件
这个文件指定了编译程序时所使用的SDK版本。另外,代码混淆时也需要在这里进行定义。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。