一、aapt生成R.java文件的主要规则:
1、每类(注意是每类,不是每个)资源对应R类的一个内部类。
所有界面布局资源–>layout内部类
所有字符串资源 –>string内部类
所有标识符资源 –>id内部类
2、每个具体资源向对应于内部类的一个public static final int类型的Field
二、res目录
1、android按照约定将不同类型的资源放在不同的指定的文件夹内,这样可以方便AAPT工具扫描并生成
在java代码中使用res资源:R.内部类名.变量名。例如为textView赋值,textView.setText(R.string.hello)。也可以通过getResources().getString(R.string.hello)方法获得字符串(getResources是Context 的成员方法)。
在xml文件中使用res资源:@内部类名/变量名。
(这里所指的变量名相应的是R文件中public static final int类型的变量名,同时也是资源代号)
2、有一种情况与第1点类似,容易混淆,需指出——标识符
标识符专门用来标识组件,也是一种资源,对应于R.java里的id内部类。但是这种资源是在XML文档中直接分配的,无需专门的资源定义。
为组件分配资源标识符:android:id=”@+id/aaa”(xml文件中)
由于这中方式实际上就是通过标识符找到对应的资源描述(xml)然后进行对象重建,所以在java代码中定义的组件完全没有分配标示符
通过标识符获取组件:@id/变量名(xml文件中)
findViewById(java代码中)
三、AndroidManifest.xml文件
AndroidManifest包含如下信息