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

接着上一篇的说,一个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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值