一、Android应用结构和资源

写在前面的话:

   刚开始自学Android,看了各位大牛的博客,萌生出将自己学习过程记录下来的想法。一来记录下学习进度和遇到的问题、解决问题的过程和方法,争取以后遇到同样的问题能回来找到答案;二来希望能够在互相交流中共同进步。学习资料为《疯狂Android讲义》和各位大牛的博客,引用部分内容希望谅解。千里之行始于足下,从现在开始一点一滴积累,希望某一天成为一位优秀的Android攻城狮。

1、目录结构:

1.1 创建一个HelloWorld项目,会生成一个HelloWorld目录,目录中文件结构如下:

HelloWorld

   |-res

       |-values

       |-layout

       |-drawable-ldpi

       |-drawable-mdpi

       |-drawable-hdpi

       |-drawable-xhdpi

       |-drawable-xxhdpi

   |-src

       |-java源文件

   |-AndroidManifest.xml

1.2 目录解析:

res:各种资源文件

values:各种xml格式的资源文件,如字符串资源string.xml、颜色资源color.xml、尺寸资源dimens.xml等

layout:界面布局文件

drawable-ldpi:小图片文件,对应120dip

drawable-mdpi:中图片文件,对应160dip

drawable-hdpi:大图片文件,对应240dip

drawable-xhdpi:高清图片文件,对应320dip

drawable-xxhdpi:超清图片文件,对应480dip

src:普通的、保存Java源文件的目录

AndroidManifest.xml:Android项目系统清单文件,控制Android应用的名称、图标、访问权限等整体属性,每个Acitivity必须在这个文件中声明

1.3 关于不同的图片文件夹:目前主流做法都是把图片文件放在drawable-hdpi文件夹内,和图片相关的xml文件(如设置EditText边框)放在drawable文件夹内。系统会根据dip的大小选择对应目录下的资源文件。

以上res、src目录和AndroidManifest.xml文件是Android项目必须的,下面的目录和文件可选。

Build.xml:Ant生成文件,使用它来通过Ant生成、安装Android项目

bin:用于存放生成的目标文件的目录,如Java的二进制文件、资源打包文件.ap_后缀、Dalvik虚拟机的可行性文件.dex后缀等

gen:保存Android自从生成的R.java清单文件的目录

R.java:Android的资源字典。每类资源对应R类的一个内部类,为自动生成且不能手动修改

2、资源引用

2.1 在Java代码中使用资源,通过R.*.*来引用资源

public static final class{

  //对应一个资源项

  publicstatic final int app_name=0xaaaaaaaa;

}

2.2 Java代码中通过R.string.app_name来引用到”HelloWorkd”字符串常量,如:

String appName = new String(R.string.app_name);

等价于:

String appName = new String(“HelloWorld”);

在Java代码中操作相应的组件,通过findViewById(XML中给资源定义的标识符),如:

TextView text = (TextView)findViewById(R.id.text1);

就能调用TextView的各种方法(如text.setText(“test”))操作XML中定义的TextView组件。

2.3 在XML中使用资源,@<资源对应的内部类名>/<资源项的名称>来引用资源,如:

@string/app_name就能引用到”HelloWorld”字符串常量

@drawable/pic就能引用到drawable目录下名为pic的图片资源

2.4 在XML中使用标识符,@+id/<标识符>来给资源定义标识符,如:

android:id=”@+id/ok”,在Java代码中就可以通过findViewById获取该资源

    原文作者:zzjieee
    原文地址: https://www.jianshu.com/p/814f5b49a2af
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞