3.3 资源

在Android层次结构中,资源扮演着重要的角色。Android支持字符串、位图以及其他很多种类型的资源。每一种资源的语法、格式以及存放的位置都会根据其类型的不同而不同。一般来讲,共有三种类型的资源文件:XML文件、位图文件(图像)和RAW文件(声音等)。

Android工程目录中,用于存放资源文件的文件夹有两个,分别为res和assets。其中,res文件夹不支持深度子目录,其中的资源最终将被打包到编译后的Java文件中,可以直接通过R资源类访问,利用率较高;而assets中存放的资源是用于打包到应用程序中的静态文件,这些文件不会被编译,最终会直接部署到目标设备中,可以使用任意深度的子目录进行存储。assets文件夹中的文件不能直接通过R资源类读取,只能使用流的形式读取,其利用率相对较低。

Android的资源编译器AAPT(Android Asset Packaging Tool)会依照资源所在的子目录及其格式对其进行编译。