zoukankan      html  css  js  c++  java
  • 资源的类型及存储方式——资源的类型以及存储方式

        Android应用资源可分为两大类:

    • 无法通过R清单类访问的原生资源,保存在assets目录下。
    • 可通过R资源清单类访问的资源,保存在res目录下。

         大部分时候提到Android应用资源时,往往都指位于res目录下的应用资源,AndroidSDK会在编译该应用时在R类中为它们创建对应的索引项。

         资源的类型以及存储方式

          Android要求在res目录下用不同的子目录保存不同的应用资源,表6.1大致显示了Android不同资源在/res目录下的存储方式。

           

    表6.1  Android应用资源的存储
     目录     存放的资源
    /res/animator/ 存放定义属性动画的XML文件
    /res/anim/ 存放定义补间动画的XML文件
    /res/color/ 存放定义不同状态下颜色列表的XML文件
    /res/drawable/ 

    该目录下存放各种位图文件(如*.png、*.9.png、*.jpg、*.gif等)。除此之外也可是能编辑成如下各种Drawable对象的XML文件:

    • BitmapDrawable
    • NinePatchDrawable对象
    • StateListDrawable对象
    • ShapeDrawable对象
    • AnimationDrawable对象
    • Drawable的其他各种子类的对象
    /res/layout/ 存放各种用户界面的布局文件
    /res/menu/ 存放为应用程序定义各种菜单的资源,包括选项菜单、子菜单、上下文菜单资源
    /res/raw/

    该目录下存放任意类型的原生资源(比如音频文件、视频文件等)。在Java代码中可通过调用Resources对象的openRawResources(int id)

    方法来获取该资源的二进制输入流。实际上,如果应用程序需要使用原生资源,推荐把这些原生资源保存到/assets目录下,

    然后在应用程序中使用AssetManager来访问这些资源。

    /res/values/

    存放各种简单的XML文件。这些简单值包括字符串值、整数值、颜色值、数组等。字符串值、整数值、颜色值、数组等各种值都存放在该目录下,而且这些资源文件的根元素都是<resources.../>元素,当我们为该<resources.../>元素添加不同的子元素则代表不同的资源,例如:

    • string/integer/bool子元素:代表添加一个字符串值、整数值或boolean值。
    • color子元素:代表添加一个颜色值。
    • array子元素或string-array子元素、int-array子元素:代表添加一个数组。
    • style子元素:代表添加一个样式。
    • dimen:代表添加一个尺寸。
    • ...

           由于各种简单值都可定义在/res/values目录下的资源文件中,如果在同一份资源文件中定义各种值,势必增加程序维护的难度。为此,Android建议使用不同的文件来存放不同类型的值,例如,

    • arrays.xml:定义数组资源。
    • colors.xml:定义颜色值资源。
    • dimens.xml:定义尺寸值资源。
    • strings.xml:定义字符串资源。
    • styles.xml:定义样式资源。    
    /res/xml/                      任意的原生xml文件。这些XML文件可在Java代码中使用Rsources.getXML()方法进行访问

         一旦将应用程序的各种资源分别保存在Android应用的/res目录下,接下既可以在Java程序中使用这些资源,也可以在其他XML资源中使用这些资源。

  • 相关阅读:
    Boost中timer的简易用法
    poj 2586 Y2K Accounting Bug(贪心算法,水题一枚)
    Steps to Install Hadoop on CentOS/RHEL 6---reference
    nginx多进程模型之配置热加载---转
    C/C++ unit testing tools (39 found)---reference
    centos复制到另外一台电脑连不上网
    linux man使用方法 和centos安装中文man包 --转
    centos6.4使用man查找命令时,报错No manual entry for xxxx
    How to Install and Configure Nginx from Source on centos--转
    研磨设计模式之 策略模式--转
  • 原文地址:https://www.cnblogs.com/wolipengbo/p/3436863.html
Copyright © 2011-2022 走看看