(转自:http://blog.csdn.net/goodshot/article/details/11529731)

Android 项目中文件夹的作用

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

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

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

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

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

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

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

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

9. res\values:    存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:
   · arrays.xml:定义数组数据;
   · colors.xml:定义表示颜色的数据;
   · dimens.xml:定义尺度,可以使用Resources.getDimension()获得这些资源;
   · strings.xml:定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源;
   · styles.xml:定义显示的样式文件;

10.res\raw:自定义的一些原生文件所在目录,像音乐、视频等文件格式,Resources.getRawResource()方法可以获得这些资源。

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

12. res\anim:用于定义动画对象;

13. bin:生成apk的文件夹。

说明:

1. drawable与layout立方的资源,项目会自动识别这些资源,然后会在R文件中对应每个资源文件生成一个id,你可以在代码中直接通过R.drawable.ID或者是R.layout.ID来调用这些资源。

        2. asserts中的资源系统不会自动识别,需要你通过IO来自己读取,这里一般放置音频文件或者加密文件等系统无法识别的文件,当然你也可以把图片等放在这里,但是系统无法自动识别这些资源。
        3. R类与资源文件关系说明

1).  静态类drawable类对应res文件夹中的drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹,drawable类中每个整型的静态常量名与这三个文件夹中的图片资源文件相同(不含扩展名),这三个文件夹中相同文件名的资源对应同一个整型变量,Android系统会根据不同类型的屏幕分辨率,自动选取合适的图片资源。

2).  静态类layout类对应res文件夹中的layout文件夹,layout文件夹中的每个布局文件在layout类中都会有一个与文件名相同的整型静态变量。

3).  静态类string对应res/values文件夹中每个XML文件中的字符串资源,如上图中的strings.xml文件定义如下:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello"> Hello World, HelloWorld!</string>

<string name="app_name">HelloWorld</string>

</resources>

string类使用中每个静态常量名与<string>元素中name属性值相同。

4. 扩展说明

1). 资源文件与清单文件AndroidManifest.xml

A. <application>元素中的android:icon属性会通过@drawable/icon的方式引用drawable资源文件夹中定义的icon.png图片作为Android桌面的启动图标; android:label会通过        @string/app_name的方式来引用values资源文件

增加IDS说明:(转自:http://blog.sina.com.cn/s/blog_ac843e3301014fbr.html)

前面我们见识过ids.xml文件,但是这个文件是什么意思呢?我们来看下文档中的介绍:

先看下它给的例子:
XML file saved at res/values/ids.xml:
使用方式:
一: android:id="@id/button_ok"
二:Button btn=new  Button(context);  btn .setId(context.getResources().getInteger(R.id.button_ok));
红色部分的书写形式是不正确的,我们直接使用btn.setId(R.id.button_ok);就OK,如果用红色部分的话就会报一个无法找见资源的错误.
使用这两种方式都是可以的,如果我们用了ids.xml我们就有以下的几个好处:
1.命名方便,我们可以把一些特定的控件先命好名,我们在使用的时候直接在我们的布局中设置id,省去了一个命名环节。
2.在我们写代码布局的时候,我们在设置ID的时候,我们就需要使用这种方式为我们的控件来命名了,在查找的时候它就可以去R文件中查找相应的ID,然后进行转换。
注意:在ids.xml中的每一项目也会生成成到R文件中的,如我们上面的ids.xml在我们的R文件中会生成下面的对照:
 public static final class id {
        public static final int button_ok=0x7f080000;
        public static final int dialog_exit=0x7f080001;
我们在使用的时候,不管哪种方式设置的id,都是一样的:
findViewById(R.id.xxx);

Android 项目中文件夹的说明与作用(转)的更多相关文章

  1. Android 项目中文件夹作用(res文件夹详细介绍)

    1. src:存放所有的*.Java源程序. 2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3. assets:可以存放项目一些较大的资源文件,例如: ...

  2. linux 下用renameTo方法修改java web项目中文件夹名称问题

    经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服 ...

  3. android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

    简介 XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换. 将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件. 1.下载工具 xstr ...

  4. 对Android项目中的文件夹进行解释

    对Android项目中的文件夹进行解释: · src:里面存放的是Activity程序,或者是以后的其他组件,在此文件夹之中建立类的时候一定要注意,包名称不能是一级. · gen:此文件夹中的内容是自 ...

  5. android项目中配置NDK自动编译生成so文件

    1 下载ndk开发包   2 在android 项目中配置编译器(以HelloJni项目为例)  2.1 创建builer  (a)Project->Properties->Builder ...

  6. 如何使用vs将现有的项目或者文件夹(尤其是多层目录的)添加到项目中

    困扰我这么久的问题,哎,真心弱爆了! 1.将现有项目或文件夹拷贝到指定目录下 2.解决方案右上有个显示所有文件的按钮 然后选中所有要添加的文件,右击 选择包含到项目中即可

  7. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件

    XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...

  8. XamarinSQLite教程在Xamarin.Android项目中定位数据库文件

    XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...

  9. Android Studio:layout-sw600dp文件夹中创建activity_main.xml

    1.右键res文件夹,新建Android resource directory文件夹 2.在resource type中选择layout  3.将Directory name命名为layout-sw6 ...

随机推荐

  1. Greenplum(GP)常见问题,注意事项

    1.在安装过程中,出现的 source /usr/local/greenplum-db/greenplum_path.sh 不要写到profile或者./bashrc文件中 因为该句会导致python ...

  2. velocity-tools-beta1.jar与velocity-tools.jar不兼容

    今天在升级了某些依赖jar的版本启动一项目后,velocity中的有些定义在common.vm中变量居然变成了null,没能include进来导致,而没升级的环境是ok的,经过反查,最后发现是将vel ...

  3. JS代码实用代码实例(输入框监听,点击显示点击其他地方消失,文件本地预览上传)

    前段时间写前端,遇到一些模块非常有用,总结以备后用 一.input框字数监听 <!DOCTYPE html> <html lang="en"> <he ...

  4. Numeral.js – 格式化和操作数字的 JavaScript 库

    Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴 ...

  5. QQ拼音输入法 该到放弃的时候了

    一直使用QQ拼音的纯净版,后来给了搜狗了,纯净版和普通版已经变成同一个版本了... 不过. 不过,2016.03.16更新版本后,重启后居然还弹出这样的窗口: 不知道怎么设置,每次重启后就弹出! 卸载 ...

  6. [DeviceOne开发]-地区选择

    一.简介 该demo主要通过do_ComboBox和do_Picker的selectChanged事件,实现省市县三级联动的功能 二.效果图 三.源码地址 https://github.com/do- ...

  7. DropDownList

    DropDownList 1,DataValueField获取或设置为各列表项提供值的数据源字段 绑定的是唯一的标识 比如是id列 使用SelectedValue获取绑定的数据使用的前端看不到的数据类 ...

  8. JQuery插件Validation的使用-遁地龙卷风

    第二版 (-1)写在前面 本文不是要详细说明Validation插件的使用,而是将满足开发需求的代码已最应该使用的方式写出来,并附有详细的注释 想要了解更多,去jquery的官网,有最新,最全面的,后 ...

  9. iOS Assigning to 'id<XXXDelegate>' from incompatible type 'BViewController *__strong'

    在使用代理的时候, BViewController *BVC = [[BViewController alloc]init]; self.delegate = BVC; 出现这样的警告Assignin ...

  10. 手把手系列:实现Nat地址转换

    1.实验目的: 掌握内网中的主机C1连接到Internet时,通过NAT实现私有全局地址转换.   2.实验拓扑: 3.实验步骤: 步骤一:给主机C1和C2配置IP地址.子网掩码和网关.如图: C1: ...