当我们使用eclipse创建一个Android工程的时候,Eclipse会自动为我们生成一个目录结构,这个目录机构是我们开发所有应用程序的”原型“,因此我们有必要深入的了解一下这个目录结构的各个部分。
在eclipse中创建一个项目,我们把它全部展开,如下图所示:
注解:
src:这是项目所有的包和源文件存放的目录。
res:资源(Resource)目录。
可以存放应用使用到的各种资源,如xml界面文件、图标或常量。
res/drawable——专门存放图标文件。
res/layout——专门存放xml界面文件,xml界面文件和HTML文件一样、主要用于用户界面显示。
res/value——专门存放应用使用到的各种常量。
gen:存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量同步更新修改R.java文件。我们应避免手动添加。编译器会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编译进软件中,这样可以减少应用在手机中占用的空间。
AndroidManifest.xml:功能清单文件。
这个文件列出了应用程序所提供的所有功能。每当你添加一个Activity时,就需要在此文件中作相应的配置,否则应用程序就无法识别和使用这个Activity。也可以指定应用程序需要的服务、接收器等,以及它们对应的<Intent-filter>,用于通过intent的方式打开指定服务或接收器。程序所需权限也需要在这里设置。
AndroidManifest.xml元素功能介绍:
xmlns:android——包含命名空间的声明。xmlns:android=http://schemas.android.com/apk/res/android,使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。
application——包含package中application级别组件声明的根节点。此元素也包含application的一些全局和默认属性,如标签、icon、主题、必要的权限,等等。一个manifest能包含另个或一个此元素(不能大于1个)。
android:icon——应用程序图标
android:label——应用程序名字
Activity——用来与用户交互的主要工具。Activity是用户打开一个应用程序的初始页面,大部分被使用到的其他页面也由不同的activity所实现,并声明在另外的activity标记中。
android:name——应用程序默认启动的activity
intent-filter——声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。除了能在此元素下制定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签、icon和其他信息。
action——组件所支持的Intent action
category——组件支持的Intent Category。这里指定了应用程序默认启动的activity。
uses-sdk——该应用程序所使用的SDK版本信息。
default properties:系统默认信息,一般不需要修改此文件。
assets:这个目录保存的文件可以打包在程序里。Android不为assets下的文件生成id,如要使用assets里的文件,需要指定文件的路径和文件名。
bin:存放每次编译生成的文件,编译生成的xxx.apk就存放在这个目录。