1、HelloWorld项目的目录结构
- 1.1、src文件夹
- 1.2、gen文件夹
- 1.3、Android 2.2文件夹
- 1.4、assets
- 1.5、res文件夹
- 1.6、AndroidManifest.xml
- 1.7、default.properties
如图所示
src文件夹,顾名思义,就是存放java源代码的地方。
例如我们的代码如下
我们的类继承了Activity这个类。一般我们都会实现其中的onCreate方法和onPause方法
onCreate方法
该方法主要用于初始化我们的Activity。当用户通过请求和我们交互的时候,我们就通过Activity做出相应的处理。Activity从功能上说,比较像struts中的action.是系统和用户交互的一个接口。
onPause方法
该方法在当你的Activity被销毁前执行的方法,一般用来进行数据的实例化。(Activity被销毁的原因有很多种,比如人为的,或者系统内存不足时等等)。
gen文件夹
gen文件夹,主要包含一个R.java文件,这个文件是由系统自动维护的,不允许人为的修改,否则将会出现很多让你郁闷的错误。
R.java是一个android资源的索引文件,里面定义了大量的静态内部类和静态常量,静态类的名称都和res文件夹下的文件夹一一对应的。如图
既然都是索引文件,那么该文件的作用和数据库中索引作用肯定也是差不多。它可以帮助我们快速的定位文件,此外,编译器还会检查R.java中定义的资源是否被使用了,如果没有被使用,那么打成安装包的时候,会自动过滤掉那些没被使用的资源,这样可以大大的节约空间。
(在强调一遍,没事不要瞎改R.java文件)
Android 2.2文件夹
没什么可说的,一个基础jar包。
asset文件夹
该文件夹下通常会存放一些资源文件,例如mp3/视频文件等等。
这个文件被称为原生文件夹,意思就是存放在这里的文件在打包成安装包时,会原样打包,不进行压缩等各种处理。这和res文件夹下的文件是不一样的,res下的资源文件会进行压缩处理的。主要的目的,实际上还是为了节约空间。
res文件夹
主要有三个子文件夹,drawable_?dpi、layout、values
drawable_?dpi:很多人疑问为什么这个文件夹下会分出来三个子文件夹,drawable_hdpi高分辨率、drawable_ldpi低分辨率、drawable_mdpi一般分辨率,实际上这和我们在asset中提到的文件优化压缩有关,android会对三个文件夹下的文件使用不同的压缩优化算法。这样就既保证了我们对某些图片较高分辨率的要求,也保证了这些资源不会占用太多的空间。
layout存放布局文件。包括主布局文件和一般的组件布局文件。
values下可以存放很多.xml文件,例如arrays.xml、colors.xml、dimens.xml、styles.xml,当然这些xml文件的名称都是随意取得。
AndroidManifest.xml
default.properties
记录了项目运行的环境信息,例如android的版本要求等。
项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。AndroidManifest.xml将包含如下设置:application permissions、Activities、intent filters等。