zoukankan      html  css  js  c++  java
  • andriod 学习三 使用android资源

    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
       
     
     
     
     
     
     
     
          
  • 相关阅读:
    TOMCAT热部署 catalina.home catalina.base
    spring boot test MockBean
    源码分析ConcurrentHashMap
    源码分析Thread
    源码分析String
    jvm 占用高的问题定位
    docker 资源限制
    数据库设计方案与优化
    linux搜索查找类命令|--grep指令
    linux搜索查找类命令|--locate命令
  • 原文地址:https://www.cnblogs.com/manziluo/p/5800366.html
Copyright © 2011-2022 走看看