AndroidMainfest.xml:应用程序的描述文件
src:包含了应用程序的所有的源代码
assets:任意的文件夹和文件集合
res:这是drawable,anim,layout,menu,values,xml,raw,的父文件夹,包含了应用程序的资源
drawable:包含了应用程序所使用的图像资源或者是图像资源描述文件
anim:包含了应用程序所使用的动画的xml描述文件
layout:包含了应用程序的View对象,应该使用xml描述符创建应用程序的View对象,而不是在类文件中对View对象进行编码
menu:包含了应用程序的菜单的xml描述文件
values:包含了应用程序使用的其他的资源(字符串,数组,样式,颜色),
xml:包含了应用程序使用的其他的xml文件
raw:包含了应用程序必须的其他的非xml形式的数据,比如:音频资源
在android中程序可以看做是由三个大部分组成的:应用程序描述文件、各种资源的集合、以及应用程序的源代码,应用程序的描述文件定义了程序的细节,代码实现业务逻辑,其他的一切都是资源。为了便于理解可以刻java ee作对比:AndroidMainfest.xml就相当于web.xml,业务逻辑代码就相当于servlet,其中的资源就相当于webroot下的图片、样式等文件
在android中的资源文件中是有限制的,android仅支持在res下创建系统预定义的文件夹,而且预定义的文件夹下不能嵌套其他的文件夹。例如:就不能在layout中嵌套一个目录
assets文件夹和raw有类似性,都包含原始文件,但是raw中的文件会被当做资源,可以被本地化,通过资源的ID访问,而assets中的文件被看做是通用的内容,对他们没有资源限制,由于assets中的内容没有被当做是资源,所以可以在其中建立自定义的文件夹和文件。
android中使用了大量的xml,而xml是一种臃肿的数据格式,这在资源有限的移动设备上是不允许的,事实上android会使用AAPT(android asset packaging tool)这个android资产打包工具将xml编译为二进制文件,在设备上安装的是二进制形式的xml,在运行时直接读取的是xml的二进制文件,而不会将其转换为xml
虽功未成,亦未敢藏私,众侠诸神通尽录于此,竟成一笈,名葵花宝典,以飨后世。