目录

Android中R.java文件详解

Android中R.java文件详解

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

1.1 项目的R.java文件

先说第一种是项目编译出来的 R.java 文件,我们平常所用的 R.layoutR.id 等,都是存储在这个文件中。 在以前使用eclipse开发时,这个文件的位置在 https://i-blog.csdnimg.cn/blog_migrate/4f47ed2e830c2d7f19bd7125fe550b24.png 现在这个 gen 目录已经没有了,使用as进行开发时,该文件的位置在 https://i-blog.csdnimg.cn/blog_migrate/e6a598d013593e8101719506b8061f36.png#pic_center 这个文件是一个jar包,为了看看它的内容,我添加到项目中,才可以查看源码。 右侧的源码面板就是这个jar包的内容

1.2 SDK中的R.java

这个类呢并不是项目中的文件,而是SDK提供的类 可以使用 Ctrl + N 快捷键来搜索 https://i-blog.csdnimg.cn/blog_migrate/37a4c387d3af33745852c4d666b13bfd.png

1.3 R.java内容详解

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

  • 资源名称是我们自己定义好的资源文件xml的命名
  • 资源类型是资源所对应的存储文件夹的名字,但在R类中的形式是以内部类的形式来存在的,其中的每个资源都定义为了int类型的常量,指向对应的文件 https://i-blog.csdnimg.cn/blog_migrate/6c3ba5c94288ab2ed9db1e49887b3512.png#pic_center 我在资源中定义的布局文件也可以在其中找到定义。

第二种SDK提供的R类,其模式与上面的一样,使用方式是 android.R.资源类型.资源名称https://i-blog.csdnimg.cn/blog_migrate/835702b0088d0492eca4b4a93170ffab.png#pic_center 这里面的使用不太多,经常使用 android.R.layout.simple_list_item1ListView+ArrayAdapter 搭配使用,显示简单的文本列表框