您的位置:首页 > 移动开发 > Android开发

Android项目目录结构介绍(续)——src目录和res目录详细介绍

2014-11-24 21:05 351 查看
Android项目中,src目录是放java源代码的目录,通常我们会在该目录下新建几个包,用来分类管理我们的java代码,例如下面这个目录:



大家看到这样的目录结构可能会感到害怕:怎么这么多啊!虽然src目录底下的包是多了一点,但是我们把自己的java代码分门别类地放到不同的包底下,代码的结构就更加清晰,也更方便管理。

src目录下的java代码会编译成.class字节码文件,其他文件会被原样保留。

res目录是Android项目中的资源目录,是个非常重要的目录。

res目录底下有很多子目录,其中有一些是默认不存在的,下面来一一介绍。

1. drawable目录和drawable-xxxx目录:



这几个目录下存放的是图片资源文件(
.png
,
.9.png
,
.jpg
,
.gif
)或者通过XML文件配置的drawable类型的资源文件,这里的图片会被自动进行无损压缩优化,使得在保证图片质量的同时减小图片占用的内存。drawable-xxxx目录分别对应不同的屏幕分辨率:

drawable-ldpi 低分辨率(240*320左右)

drawable-mdpi 中等分辨率(320*480左右)

drawable-hdpi 高分辨率(480*800左右)

drawable-xhdpi 超高分辨率(720p)

drawable-xxhdpi 极高分辨率(1080p及以上)

通常将不同分辨率的图片文件放到对应的drawable-xxxx目录下,将XML文件放到drawable目录下。Android系统会根据设备屏幕的分辨率智能地加载对应文件夹下的图片资源,这是Android系统对多屏幕的支持。这几个目录中的资源会被收录到R.java文件的drawable内部类中。

public static final class drawable {
}


2. layout目录



layout目录是用来存放界面布局的XML文件的,所有要被Activity、Fragment、Adapter加载的布局文件都放在这里。这里面的布局文件会被自动收录到R.java文件中的layout内部类里。

public static final class layout {
}


3. menu目录



menu目录下是XML文件形式配置的菜单。在文件中可以通过MenuInflater加载菜单文件。这里的文件会自动收录到R.java文件的menu内部类中。

public static final class menu {
}


4. values目录



values目录可以存放很多类型的资源文件:

array.xml 定义数组

colors.xml
定义color drawable和颜色的字符串值(color
string values)。使用Resource.getDrawable()和Resources.getColor()分别获得这些资源。

dimens.xml 定义尺寸值(dimension
value)。使用Resources.getDimension()获得这些资源。

strings.xml 定义字符串(string)值。使用Resources.getString()或者Resources.getText()获取这些资源。getText()会保留在UI字符串上应用的丰富的文本样式。

styles.xml 定义样式(style)对象。

attrs.xml 定义自定义的组件属性。

values目录下这些文件的名字可以任意取,通常使用上面描述的这些约定俗称的名字,可以一眼看出文件的作用,但是文件内部的标签将决定该资源在R.java文件中的哪个内部类里面。例如,使用<color></color>标签,则该标签描述的资源将在R.java的color类下,在布局文件中通过@color/XXX来找到对应的颜色,其中XXX是颜色的名称;在java程序中通过R.color来找到对应颜色的ID。

5. anim目录



anim目录下放的是动画资源文件。这里的文件会自动收录到R.java文件的anim内部类中。在XML布局文件中通过@anim/XXX来找到对应的动画资源,在java程序中通过R.anim.XXX来获得动画资源ID。

6. raw目录



raw目录中存放的是直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.XXX。这里可以放一些帮助文档、操作指南,音视频文件等。

7. xml目录



xml目录中存放任意的XML文件,在运行时可以通过调用Resources.getXML()读取。这里的文件会自动收录到R.java文件的xml内部类中。

参考博文:/article/8530496.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: