3.1 android框架中有许多资源,包括布局,字符串,位图,图片....,使用资源之前需要在相应的资源文件中定义资源,然后编译程序时ADT将定义的资源转换成java类并给予唯一的id,而代码中需要使用资源则通过这些id来操作。

      猜想:view类通过id找到相应的资源定义,资源定义是xml表示的各种属性,而这些属性则作为view的构造函数参数来实例化view类。
 
3.2资源类型
     预定义资源类型
     自定义资源类型
 
      框架会根据资源类型来生成相应的R.java中的内部类,也会根据类型决定是否转换为二进制。对于不转换为二进制的资源,原样复制,需要代码通过读取字节流的api来解析。
 
     资源的引用语法  @[package:]type/name,如果没有指定包名,则到本地资源和应用程序的本地R.java中去查找这种类型且名称匹配的资源。
 
 

 
 
 
3.3 对于res/values下面的资源,adt将按内容来解析资源类型和值(所以values下面的xml文件名称可以任意设置),其他目录的资源则是按照文件名来解析资源。
 
 
3.4 已编译的资源和未编译的资源
   
    

3.5 各种资源介绍
      
 

 
 
各种资源的使用详见3.2节
     
 
4.Android框架的目录对应着具体的管理类,Res目录对应于Resources类,assert目录对应于AssetManager类。
   例如需要使用某个资源可以在任何上下文中
   
   Resources res = Activity.getResources();
   AssetManager assetMgr = Activity.getAssets;
 
   如果要使用某个任意/res/xml/*.xml则可以
    XmlResourceParser mp = res.getXml(R.xml.test);
 
   然后通过XmlResourceParser来获取xml文件的具体内容。

 
5.资源目录结构
 

 
6.备用资源
 
    备用资源是通过目录名称来区别的,资源文件名称是一致的,例如同样的布局文件名称可以存在多个/res/layout[-xxx][...]目录下,其中“-xxx"叫做配置修饰符,不分大小写(eg:-port 竖屏,-land横屏)。单这些布局文件在R.java中只对应一个名字。
 
     android根据用户设备的本地状态通过一定算法来选择某些资源,选择依据主要是配置修饰符的优先级,其优先级排列如下。多个配置修饰符可以在一个资源目录名上组合。
 
 
 
 
6.参考资料
   资源路线图:http://developer.android.com/guide/topics/resources/index.html
   可以在这里找到各种查阅资源的方法:http://developer.android.com/reference/android/content/res/Resources.html
   
 
 
 
 
 
 
 
      

andriod 学习三 使用android资源的更多相关文章

  1. [转] Android资源管理框架(Asset Manager)简要介绍和学习计划

    转自:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分内容组成:代码和资源.资源主要就是指那些与U ...

  2. Android资源管理框架(Asset Manager)简要介绍和学习计划

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分 ...

  3. Android资源管理框架(Asset Manager)简介和学习计划

    Android该应用程序包括两个部分组成的:代码和资源. 资源主要是与UI相关的东西,例如UI布局.和其他字符串和照片.代码和资源可以使独立的应用程序来组织的实际需求的基础上,在执行的时候UI.,就能 ...

  4. 三、Android学习第三天——Activity的布局初步介绍(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ...

  5. Android Sip学习(三)Android Voip实现

    Android Sip学习(三)Android Voip实现   Android Sip学习(准备知识)SIP 协议完整的呼叫流程 Android Sip学习(一)Android 2.3 APIs S ...

  6. Android JNI学习(三)——Java与Native相互调用

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  7. Android的三种主流资源尺寸

    Android三种主流资源屏幕尺寸:QVGA.HVGA.WVGA VGA的分辨率是640x480像素 QVGA(Quarter VGA)就是320x240,即VGA分辨率的1/4 HVGA(Half ...

  8. 【Flutter学习一】Android的App的三种开发方式

    是时候学习新技术了: 转自:https://blog.csdn.net/qq_41346910/article/details/86692124 移动开发发展到现在,已经出现了三种开发方式.本文我将为 ...

  9. 国内优秀的Android资源

    因为一些大家都知道的原因,Android很多官方出品的优秀开发资源在国内无法访问. 国内的同行们对此也做出了很多努力,有很多朋友通过各种手段把很多优秀的资源搬运到了国内,为国内android开发者提供 ...

随机推荐

  1. django+ajax用FileResponse文件下载到浏览器过程中遇到的问题

    问题: 公司的需求是从mongodb中查找数据并下载回本地,但是在将文件从mongodb通过django服务端,然后从django服务端向浏览器下载文件.但是在下载的时候出了些问题.由于是用的ajax ...

  2. Spring(十八)之页面重定向

    首先说明,该示例的maven依赖可以复用Spring(十七)之表单处理还有 还有就是对应的web.xml和servlet.xml文件都能复用,不必再次修改. 说到重定向不得不提到一个转发.这里概述一下 ...

  3. mongo安装跟启动

    mongo下载地址:http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz

  4. angular1的复选框指令--checklistModel

    这个指令可以改变一组checkbox的model格式,提交的时候格式为[x,y,z,...] //复选框指令 .directive('checklistModel', ['$parse', '$com ...

  5. DB数据源之SpringBoot+MyBatis踏坑过程(四)没有使用连接池的后果

    DB数据源之SpringBoot+MyBatis踏坑过程(四)没有使用连接池的后果 liuyuhang原创,未经允许禁止转载  系列目录连接 DB数据源之SpringBoot+Mybatis踏坑过程实 ...

  6. 『ACM C++』 Codeforces | 1066B - Heaters

    今日不写日感,直接扔上今日兴趣点: 新研究称火星曾经有一个巨大的地下水系统 链接:https://mbd.baidu.com/newspage/data/landingsuper?context=%7 ...

  7. 新花生壳+tomcat 发布javaWeb项目【亲测有效】

    一.新花生壳1.0 在花生壳官网(http://www.oray.com)上下载<新花生壳1.0>的安装软件,软件安装完成后,需要注册,注册成功后花生壳官网会给我们分配一个域名,样式大概为 ...

  8. 笔记: 对称加密算法的PKCS5 和 PKCS7 填充

    PKCS #7 填充字符串由一个字节序列组成,每个字节填充该填充字节序列的长度. 假设,块的长度是 8, 数据长度是 5 数据:AA AA AA AA AA PKCS#7 填充 AA AA AA AA ...

  9. MySQL数据导入导出(一)

    今天遇到一个需求,要用自动任务将一张表的数据导入另一张表.具体场景及限制:将数据库A中表A的数据导入到数据库B的表B中(增量数据或全量数据两种方式):体系1和体系2只能分别访问数据库A和数据库B.附图 ...

  10. 静态导入方法即自动拆装箱(java)

    package example6;import static java.lang.System.out;import static java.util.Arrays.sort;import java. ...