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

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:定义数组数据;(在个这个xml命名的时候可以随便起名,因为最后用的时候只是用到写在这个xml文件中的array的名字)

比如在arrays.xml里:

<string-array name="reboot_item">  
<item>Reboot</item>  
<item>Recovery</item>  
<item>BootLoader</item>  
</string-array>  

在代码里获取:
String item0 =this.getResources().getStringArray(R.array.reboot_item)[0];
String item1 = this.getResources().getStringArray(R.array.reboot_item)[1];
CharSequence[] items = this.getResources().getStringArray(R.array.reboot_item);
 ·  dimens.xml :定义尺度,可以使用Resources.getDimension()获得这些资源;有时候我们为了维护一个工程,或者想定义一个button样式,或textView样式,这些样式中包含着文字的大小,背景图片,前置图片等一些资源。而且这个button或textView会在很多地方要用到它,原本我们可以将它的文字大小,图片样式等写在XML中或者代码中。但这样的维护性太差了;一旦要修改的时候,需要挨个文件找,挨个修改。现在我们利用dimens来维护时,只需要修改对应的dimens里定义的值。所有引用它的地方都会自动的修改这样,我们就达到了维护的目的;将要定义的属性写在dimens.xml中,以达到资源重复利用;

<?xml version="1.0" encoding="UTF-8"?>  
<resources>  
    <dimen name="main_tab_h">80dp</dimen> 设置图片时用dp  
    <dimen name="main_tab_tsize">22sp</dimen> 设置字体大小时用sp  
      
    <dimen name="set_userinfo_prow">100dp</dimen>  
    <dimen name="set_cpwd_prow">100dp</dimen>  
</resources> 
备注: 在xml中调用时直接android:layout_height="@dimen/main_tab_h"调用为其设置大小
             在activity中设置时用context.getResource().getDimensource(r.dimen.main_tab_h);即可为其动态设置大小。

   ·  strings.xml :定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源;

   · styles.xml:定义显示的样式文件;(如下代码,在调用时用@style/TextView即可)

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="TextView">
        <item name="android:textColor">@color/green</item>
    </style>
</resources>

    attrs.xml:(在自定义一个控件的时候,如果定义一些新的属性的时候,会用到这个文件来设置)当中定义的是类的属性,属性是为了能在xml文件中被引用到,换句话说就是指定类中变量(也就是属性的实际作用者)的值。这些属性会在类的构造函数中用到。看过一两个源码就会明白,构造函数中的TypedArray其实就是属性的数组,数组的成员会被赋给类里的成员,完成从xml的初始化。类的构造函数一般有三个,一个是Class(context),这个用于在代码中创建一个类,所以只包含一个上下文;Class(context,attrs)和Class(context, attrs, defStyle)用于从xml创建类的情况。

      ids.xml:为应用的相关资源提供唯一的资源id。id是为了获得xml中的对象而需要的参数,也就是Object=findViewById(R.id.id_name)中的id_name。这些值可以在代码中用android.R.id引用到。
若在ids.xml中定义了ID,则在layout中可如下定义@id/price_edit,否则@+id/price_edit。
使用ids.xml的原因
(1)优化编译效率。

我们知道android的组件必须用一个int类型的id属性来标识其唯一性,
id属性必须以@开头的值,例如,@id/abc、@+id/xyz等。
如果使用"@+id/name"形式,当R.java中存在名为name变量时,则该组件会使用该变量的值作为标识。如果不存在该变量,则添加一个新的变量,并为该变量赋相应的值(不会重复)。
当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量。变量名就是“/”后面的值,例如,@+id/xyz会在R.java文件中生成intxyz =value,其中value是一个十六进制的数。如果xyz在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。
使用@id/name形式,预先定义的id已经生成,修改配置文件时,也不会引起系统重新生成。
(2)统一管理资源Id。

public.xml——描述的是为attr、id、drawable所指定的一个32的id值,这个值在current.xml文件中会被用到。

当我们对public.xml做了改动后,执行makeupdate-api命令,相应的current.xml就会添加这些改动。

在public.xml中资源数据的定义会影响到current.xml文件,它们分别在frameworks/asecoreesesvalues和framework/aseapicurrent.xml中。

当进行内核文件修改时,需要特别注意public.xml文件的同步,该文档定义了资源文件的二进制兼容性。因此需要小心对待该文件,否则可能会破坏该版本的向后兼容性。

  为了避免破坏兼容性,新的资源需加在同类资源的最后(主要ID值,按照ID值递增)。若是放置在中间会导致随后的同类资源被赋予新的ID值从而破坏兼容性。

添加id的方法:

1)在ids.xml中添加公共id项,在public.xml中也添加相应的id项。这种办法没有兼容性,会与后面的版本产生冲突。

2)在ids.xml中添加公共id项,每一项前面加一行<!– @hide–>的注释,这样就不用在public.xml中添加相应的项了。源码中是的形式,这样current中就不会有相应的段了。

3)在自己写的xml中,使用android:id =“@+id/id_name”的形式,就和在eclipse中一样,搜一下会发现android源码中也有这么用的,这样ids.xml和public.xml都不用改,兼容性我还不确定。

   · colors.xml:定义表示颜色的数据;

<resources>
	<!-- 定义几种常用的颜色 -->
	<color name="gold">#b89766</color>
	<color name="white">#FFFFFF</color><!-- 白色 -->
	<color name="black">#000000</color><!-- 黑色 -->
</resources>
10.res/raw:自定义的一些原生文件所在目录,像音乐、视频等文件格式。存放直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID 也可以用,即R.raw. somefilename ,Resources.getRawResource()方法可以获得这些资源。

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

12. res/anim:用于定义动画对象。存放定义了补间动画(tweened animation)或逐帧动画(frame by frame animation)的XML文件。(该目录下也可以存放定义property animations的XML文件,但是最好还是分开存放)

13.res/animator:存放定义了property animations(android 3.0新定义的动画框架)的XML文件

14.res/color/:存放定义了颜色状态列表资源(Color State List Resource)的XML文件

15.res/menu/:存放定义了应用程序菜单资源的XML文件。正确创建文件的方法:new Folder,名字menu,new Other——Android——XML,选择menu类型,填写名称,确定即可。菜单资源文件必须放在res/menu目录中。菜单资源文件必须使用<menu>标签作为根节点。除了<menu>标签外,还有另外两个标签用于设置菜单项和分组,这两个标签是<item>和<group>。

  • 16
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 搭建 Android 开发环境主要涉及以下几个步骤: 1. 安装 JDK (Java Development Kit) 2. 下载并安装 Android Studio 3. 配置 Android SDK 4. 创建并运行第一个 Android 项目Android Studio 安装完成后,主要文件夹包括: 1. Android Studio 安装目录:存放 Android Studio 的安装文件和程序。 2. Android SDK 目录:存放 Android SDK 的所有文件。SDK Manager 工具可以管理和更新 SDK 的各种文件。 3. AVD (Android Virtual Device) 目录:存放虚拟设备的配置文件和磁盘映像文件,用于模拟真实 Android 设备运行环境。 4. Gradle 目录:存放 Gradle 的配置文件和构建缓存,Gradle 是一种构建工具,用于自动化构建、测试和发布应用程序。 5. Project 目录:存放 Android 项目的文件,包括源代码、资源、布局和配置文件等。 6. .gradle 目录:存放 Gradle 的构建缓存和其他配置文件,用于提高构建速度。 其,Project 目录是 Android 开发的核心,它包含了整个应用程序的所有文件,如 Java 代码、XML 文件、资源文件、布局文件等。Gradle 目录则是 Gradle 构建工具的核心,其包括 Gradle 的配置文件、缓存文件和构建脚本等。Android SDK 目录是整个 Android 开发的基础,其包括了 Android 系统的各种组件和库文件,可以供开发者使用和调用。 ### 回答2: Android环境搭建是指为了进行Android应用开发而配置与安装相关工具和软件的过程。主要文件夹如下: 1. Android SDK(软件开发工具包):包含了用于开发和运行Android应用所需要的各种工具和库。主要的文件夹包括“platforms”(存放Android平台的版本)、“tools”(工具包)、“platform-tools”(用于和设备通信的工具)等。 2. AVD(Android虚拟设备):在模拟器上运行和测试Android应用时,需要创建一个虚拟设备。AVD文件夹存放了创建的虚拟设备的配置和数据。 3. Android项目文件夹:每个Android项目都有自己的文件夹。其包括“src”(存放Java源代码文件)、“res”(存放资源文件,如布局、图片、字符串等)、“manifests”(存放Android清单文件,用于描述应用的组件和权限等)等。 4. Gradle文件夹:Gradle是一种构建工具,用于编译和打包Android应用。Gradle文件夹包含了Gradle构建脚本文件(build.gradle),用于配置项目的构建过程。 5. Gen文件夹:当项目构建时,自动生成的一些类文件(如R.java),用于引用资源文件。 6. Bin文件夹:构建过程生成的可执行文件(apk文件),用于安装和运行Android应用。 综上所述,Android环境搭建过程主要涉及配置Android SDK和安装必要的开发工具。主要文件夹包括SDK、AVD、项目文件夹、Gradle文件夹、Gen文件夹和Bin文件夹,它们分别用于存放开发工具、模拟设备配置、项目文件、构建脚本、自动生成的类文件和应用安装文件。这些文件夹Android开发过程起到了重要的作用,帮助开发者进行应用程序开发和测试。 ### 回答3: Android环境搭建是为了开发Android应用程序而进行的一系列准备工作。主要文件夹作用如下: 1. Android SDK(开发工具包):Android SDK是用于开发Android应用程序的基础工具包。它包含了各种开发所需的工具和库文件。其最重要的是Android Debug Bridge(ADB),它是一个用于与Android设备通信的命令行工具。 2. Android Virtual Device(AVD):AVD是一个虚拟的Android设备,用于在开发过程模拟真实的设备环境。在AVD文件夹,可以创建和管理各种模拟设备,包括设备的名称、分辨率、操作系统版本等。 3. Build Tools(构建工具):Build Tools是用于构建和编译Android应用程序的工具集合。它包含了各种命令行工具,用于将Java代码编译为Dalvik字节码,并打包成APK文件,以便在Android设备上安装和运行。 4. Platforms(平台):在Platforms文件夹,可以找到Android系统的各个版本。开发时,需要根据应用程序所需的最低版本选择相应的平台进行开发和测试。 5. Extras(附加组件):Extras文件夹包含了一些额外的工具和库文件,用于增强开发环境的功能。例如,Android Support Library提供了向后兼容的功能,方便开发者在不同API级别的设备上运行应用程序。 6. System Images(系统映像):System Images文件夹包含了各个Android版本的系统映像文件。这些文件可以在模拟器或真实设备安装,以模拟或运行特定版本的Android系统。 7. Samples(示例代码):Samples文件夹包含了一些示例代码,用于演示Android开发的各种功能和技术。这些示例代码可以作为学习和参考的资源,帮助开发者更好地理解和应用Android开发知识。 通过搭建Android环境并了解主要文件夹作用,开发者可以更方便地进行Android应用程序的开发、测试和调试工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值