您的位置:首页 > 移动开发 > Android开发

初学Android,Android的项目结构(二)

2012-06-25 11:20 211 查看
接着上一篇的说,一个Android项目通常是什么结构呢,大概是这样
\MyProject 
   \src 
         \com\mycompany\android\my-root-package 
         \com\mycompany\android\my-root-package\another-package 
   \gen 
        \com\mycompany\android\my-root-package\R.java  
   \assets 
   \res 
   \AndroidManifest.xml 
...etc

首先是AndroidManifest.xml,这个文件是Andriod项目的系统清单文件,用于控制Android应用的,版本号,名称,图标,访问权限,应用程序包含的组件等属性
项目经过编译后,出现两个文件夹,bin和gen
bin 用于存放生成的目标文件,如Dalvik虚拟机的可执行性文件(.dex后缀,.dex 是由.class文件转化而来),资源打包文件.apk等,这个和.net项目是一样的
gen 用于保存Android自动生成的一个R.java清单文件,上一篇里多次使用了R.layout.main,R.id.show,R.id.ok ,其实它是Android项目里自动生成的一个Java类,如下:

package WangLi.HelloWorld.Space;

public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020000;
    }
    public static final class id {
        public static final int ok=0x7f050001;
        public static final int show=0x7f050000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
        public static final int hello=0x7f040000;
    }
}

R.java文件是由aapt工具根据应用中的资源文件来自动生成的,因此我们可以把R.java理解成Android应用的资源字典
aapt生成R.java文件的规则主要有两条:
每类资料对应R类的一个内部类。比如所有界面布局资源对应于layout内部类;所有字符串资源类对应于string内部类;所有标识资源对应于id内部类
每个具体的资源类项对应于内部类的一个public static final int 类型的field。例如前面在界面布局文件中用到了ok,show两个标识符,因此R.id类里就包含了这两个Field;由于drawable-xxxx文件夹包含了icon.png图片,因此R.drawable类里包含了icon Field

Res 目录,存放了Android应用中的资源,包括图片资源,字符串资源,颜色资源等,上一篇中就包含了界面设置的Layout中的main.xml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: