zoukankan      html  css  js  c++  java
  • Android转载二:工程目录详解

    REF:http://blog.csdn.net/dianfusoft/article/details/7422540

          可以看出这个工程由src,gen,Android2.3.3 jar包,assets,bin,res,AndroidManifest.xml,proguard.cfg,project.properties这几个文件(夹)组成,具体作用如下所示:



    下面分层次详解几个重要的文件(夹)

    ● src文件夹

    展开这个文件夹如下所示

    可以看出,这个文件夹主要用来存放源文件

    gen文件夹

    展开这个文件夹如下所示:

    这个R.java文件是系统自动生成的文件,非常的重要。这个R.java默认有attr,drawable,layout,string  4个静态内部类,每个类对应一种资源。例如我们在工程中添加一幅图片,那么工程就会在此类的drawable内部类中添加一条数据,如果删除了此图片,工程则会自动删除此条数据。由此可见,R.java类似于电脑中的“注册表”,这么形容应该不过分吧!

         那么我们怎么通过R.java文件引用添加的资源呢?

    (1)   在Java程序中,我们通过Java语法来引用资源

              ①    R.resource_type.resource_name

              例如,我们要引用工程目录下此文件

    我们可以通过R.drawable.ic_launcher获得,因为此为图片文件,所以会在R.java文件的drawable内部类中注册信息

              ②    Android. R.resource_type.resource_name

                     上面这个图片我们也可以用android. R.drawable.ic_launcher获得

    (2)   在xml文件中引用资源

              ①    @[package:]type/name

                    使用我们自己包下的资源可以省略包名。

                    在XML文件中,main.xml和AndroidMainFest.xml文件中如果想要引用上图的资源,我们可以通过“@drawable/ic_launcher”获得,这个表达式的意思是,@代表R.java类,drawable则代表R.java类中的静态内部类,而/ ic_launcher则代表静态内部类drawable中的属性ic_launcher,这个属性则对应上图中的那个图片!

              ②    如果访问android系统中的资源,那么则需要加上包名“android:”,如:

                     android:textColor=“@android:color/red”

    (3)“@+id/string_name”表达式

               在布局文件中我们需要给一些组件添加id,就可以使用此表达式。此表达式“+”表示在R.java文件的内部静态类id中添加一个静态变量“string_name”,如前面我们的代码:

    [html] view plaincopyprint?
    <Button  
          android:id="@+id/button"  
          android:layout_width="wrap_content"  
          android:layout_height="wrap_content"  
          android:text="@string/button" /> 
    

      

    现在你清楚是什么意思了吧?

    ● res文件夹

    展开这个文件夹如下所示:

      其中drawable-hdpi用来存放高质量图片,drawable-ldpi用来存放低质量图片,drawable-mdpi用来存放中等质量的图片。

         而layout文加件下面的main.xml文件则是页面布局文件。在eclipse里面我们打开此文件时选择“Graohical Layout ”模式编辑文件时,我们可以直接拖动各种空间快速进行编辑,选择“main.xml”模式则可以查看源代码,如下所示:

    当然在values文件夹下还有一重要文件string.xml,此文件主要用来定义字符串和数值,其实在这个文件夹下面还可以存放arrays.xml(用来定义数组),colors.xml(用来定义颜色和颜色字串数值),dimens.xml(用来定义尺寸数值),styles.xml(用来定义样式)。

    既然是存值,那么我们在Activity中怎么把值给取出来呢?笔者总结如下:

  • 相关阅读:
    es6 学习小计
    aligin-items与aligin-content的区别
    编写Shader时的一些性能考虑
    Shader预处理宏、内置状态变量、多版本编译等
    Unity内置的shader include files
    Vertex and Fragment Shader
    对于资源上MissingScript的清理方案讨论
    Surface Shader
    LOD设置
    《蛙》
  • 原文地址:https://www.cnblogs.com/gaozy/p/3860638.html
Copyright © 2011-2022 走看看