运用Android SDK进行UI开发时,虽然也可以使用纯代码来完成,但是那种方法对我这种刚学习Android对API还不懂的人来说,能进行类似VB、MFC一样图形化开发自然是最合适不过的。幸好Android也提供了这种方式,在Android工程文件中专门有个res目录用于存放资源,该目录下的资源可以进行可视化的编辑,编写好的资源通过AAPT(Android AssetPackaging Tool)工具自动生成gen目录下的R.java资源索引文件,之后在Java代码和XML资源文件中就可以利用索引来调用资源了。
Android提供了如此便利的资源架构,要想使用它,还是要对他有深入的了解才可以,以下就这阵子对Android资源的学习进行小结来回顾和整理几个问题
Android资源目录结构问题?
Android资源支持哪些类型资源,他们具体的语法和使用规则?
1、Resource的目录结构
Android资源除了assets目录是与res同级外,其它资源均被放在res/目录下面,该目录下面的资源文件夹并不是随意命名的,需要遵循严格的规范,否则编译生成R.java过程中会报类似“invalidresource directory name **”的错误提示,并且导致R.java自动生成失败。
常用的缺省目录和对应资源类型在SDK帮助中有表格列出,简单摘抄如下
目录Directory
资源类型Resource Types
res/animator
存放定义了property animations(android 3.0新定义的动画框架)的XML文件
res/anim/
存放定义了补间动画(tweened animation)或逐帧动画(frame by frame animation)的XML文件。(该目录下也可以存放定义property animations的XML文件,但是最好还是分开存放)
res/raw/
存放直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。
res/drawable/
存放能转换为绘制资源(Drawable Resource)的位图文件(后缀为.png, .9.png, .jpg, .gif的图像文件)或者定义了绘制资源的XML文件
res/color/
存放定义了颜色状态列表资源(Color State List Resource)的XML文件
res/layout/
存放定义了用户界面布局的XML文件
res/menu/
存放定义了应用程序菜单资源的XML文件
res/values/
存放定义了多种类型资源的XML文件
这些资源的类型可以是字符串,数据,颜色、尺寸、样式等等,具体在后面详述
res/xml/
存放任意的XML文件,在运行时可以通过调用Resources.getXML()读取