Android中R.java文件详解

R.java文件有两种,两种文件作用一样都是获取资源的引用,区别在于一个存放着我们写的项目中资源的引用,另一个存放着系统定义好的一些资源

1.1 项目的R.java文件

先说第一种是项目编译出来的R.java文件,我们平常所用的R.layoutR.id等,都是存储在这个文件中。
在以前使用eclipse开发时,这个文件的位置在

现在这个gen目录已经没有了,使用as进行开发时,该文件的位置在
在这里插入图片描述

这个文件是一个jar包,为了看看它的内容,我添加到项目中,才可以查看源码。
右侧的源码面板就是这个jar包的内容

1.2 SDK中的R.java

这个类呢并不是项目中的文件,而是SDK提供的类
可以使用Ctrl + N快捷键来搜索

1.3 R.java内容详解

刚才分别介绍了一下两个R类的位置与查看方法,现在给大家看一下内容吧。
第一种项目生成的R.jar文件是我们常用的,基本用法是R.资源类型.资源名称

  • 资源名称是我们自己定义好的资源文件xml的命名
  • 资源类型是资源所对应的存储文件夹的名字,但在R类中的形式是以内部类的形式来存在的,其中的每个资源都定义为了int类型的常量,指向对应的文件
    在这里插入图片描述

我在资源中定义的布局文件也可以在其中找到定义。


第二种SDK提供的R类,其模式与上面的一样,使用方式是android.R.资源类型.资源名称
在这里插入图片描述

这里面的使用不太多,经常使用android.R.layout.simple_list_item1ListView+ArrayAdapter搭配使用,显示简单的文本列表框