(转自: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. PHP内核探索之变量(5)- session的基本原理

    这次说说session. session可以说是当前互联网提到的最多的名词之一了.它的含义很宽泛,可以指任何一次完整的事务交互(会话):如发送一次HTTP请求并接受响应,执行一条SQL语句都可以看做一 ...

  2. 用css 制作三角

    html代码: <div class="div"></div> css代码: .div{ border-top:40px solid #ff0077; bo ...

  3. Koala – 开源的前端预处理器语言图形编译工具

    koala 是一个前端预处理器语言图形编译工具,支持 Less.Sass.Compass.CoffeeScript,帮助 Web 开发者更高效地使用它们进行开发.跨平台运行,完美兼容 Windows. ...

  4. Weinre调试移动端页面

    Weinre是什么 如果我们做的是Cordova(phonegap)或其他hybird应用,当使用到原生功能时候(类似原生请求数据或页面切换时),没办法在PC chrome浏览器调试页面,一旦页面在手 ...

  5. JavaScript学习笔记6 之经典神坑题整理

    本篇内容是关于容易出错题的整理,这些题也有利于对javascript的语法逻辑的理解,分析的内容仅供参考: <script> */ var x=0 , y=0 , c=1; functio ...

  6. SAP (ABAP) 常用的数学函数

    Function func Return value abs Absolute value of the argument arg (绝对值) sign Plus/minus sign of the ...

  7. SAP中禁止特定用户更改密码

    在SAP管理中,有时一些账号因为是提供给大家作查询用的,受密码强度策略限制,密码不能为空.故密码设为通用后在公司内发布,为避免有些用户更改后造成其他用户无法登陆,我们可在使用TC-SU01,在登录数据 ...

  8. SharePoint 2013 表单认证使用ASP.Net配置工具添加用户

    前 言 上面一篇博客,我们了解到如何为SharePoint 2013配置表单身份认证,但是添加用户是一个麻烦事儿:其实,我们还可以用Asp.Net的配置工具,为SharePoint 2013添加表单用 ...

  9. 利用Ajax增删改Sharepoint List Item

    在使用一个工具的是想要在本地的HTML文件或者JS,修改Sharepoint List中的数据. 如下是找到的方法.不知道还有其他方法没.IE中可以使用.记得加载Jquery. 如果是Chrome 浏 ...

  10. 《Kotli­n for ­androi­d Deve­lopers­》中文翻译

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4939080.html 之前一直在关注Kotlin和Androi ...