Android工程目录及其作用简介

1. src:存放所有的*.java源程序。

2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。

3. assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。

4. res:可以存放项目中所有的资源文件,例如:图片(*.png、*.jpg)、文本等。

5. res\drawable-xhdpi:保存超高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。

6. res\drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。

7.res\drawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。

8. res\drawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。

9.res\layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。

10.res\values:    存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:
   · arrays.xml:定义数组数据;
   · colors.xml:定义表示颜色的数据;
   · dimens.xml:定义尺度,可以使用Resources.getDimension()获得这些资源;
   · strings.xml:定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源;
   · styles.xml:定义显示的样式文件;
      11.res\raw:自定义的一些原生文件所在目录,像音乐、视频等文件格式,Resources.getRawResource()方法可以获得这些资源。

12. res\xml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序之中,在程序运行时可以使用Resources.getXML()方法获取。

13. res\anim:用于定义动画对象。

 

注:

*res/raw和assets的相同点:

1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。

*res/raw和assets的不同点:
1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。
2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹

*读取文件资源:

1.读取res/raw下的文件资源,通过以下方式获取输入流来进行写操作

  • InputStream is = getResources().openRawResource(R.id.filename); 

2.读取assets下的文件资源,通过以下方式获取输入流来进行写操作

  • AssetManager am = null
  • am = getAssets(); 
  • InputStream is = am.open("filename"); 

你可能感兴趣的:(android)