Android 应用程序架构
src/ java 原代码存放目录
gen/ 自动生成目录
gen 目录中存放所有由 Android 开发工具自动生成的文件。目录中最重要的就是 R.java 文件
。 这个文件由 Android 开发工具自动产生的。 Android 开发工具会自动根据你放入 res
目录的 xml 界面文件、图标与常量,同步更新修改 R.java 文件。正因为 R.java 文件是由开
发工具自动生成的,所以我们应避免手工修改 R.java 。 R.java 在应用中起到了字典的作用,
它包含了界面、图标、常量等各种资源的 id ,通过 R.java ,应用可以很方便地找到对应资源。
另外编绎器也会检查 R.java 列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中
,这样可以减少应用在手机占用的空间。
res/ 资源 (Resource) 目录
在这个目录中我们可以存放应用使用到的各种资源,如 xml 界面文件,图片或数据。
res/drawable 专门存放 png 、 jpg 等图标文件。在代码中使用
getResources().getDrawable(resourceId) 获取该目录下的资源。
res/layout 专门存放 xml 界面文件, xml 界面文件和 HTML 文件一样,主要用于显示用户
操作界面。
res/values 专门存放应用使用到的各种类型数据。不同类型的数据存放在不同的文件中,如下:
· strings.xml 定义字符串和数值,在 Activity 中使用
getResources().getString(resourceId) 或
getResources().getText(resourceId) 取得资源。它的作用和 struts 中的国际化资源文
件一样。
<;?xml version=";1.0"; encoding=";UTF-8";?>;
<;resources>;
<;string name=";itcast";>; 传智播客 <;/string>;
<;/resources>;
· arrays.xml 定义数组。
<;?xml version=";1.0"; encoding=";utf-8";?>;
<;resources>;
<;string-array name=";colors";>;
<;item>;red<;/item>;
<;item>;yellow<;/item>;
<;item>;green<;/item>;
<;item>;blue<;/item>;
<;/string-array>;
<;/resources>;
· colors.xml 定义颜色和颜色字串数值,你可以在 Activity 中使用
getResources().getDrawable(resourceId) 以及
getResources().getColor(resourceId) 取得这些资源。例子如下:
<;?xml version=";1.0"; encoding=";UTF-8";?>;