Android开发中的R文件

在进行Android开发的过程中经常遇见R文件报错,许多初学者经常会非常头疼这个R文件到底是什么

首先,我们来了解一下R文件:

当 Android 应用程序被编译,会自动生成一个 R 类,其中包含了所有 res/ 目录下资源的 ID,如布局文件,资源文件,图片(values下所有文件)的ID等。在写java代码需要用这些资源的时候,你可以使用 R 类,通过子类+资源名或者直接使用资源 ID 来访问资源。

R.java文件是活动的Java文件,如MainActivity.java的和资源如strings.xml之间的胶水。我们不要去修改R.java文件的内容。


Android开发中的R文件_第1张图片

如上是一个自动生成的R文件示意。

那么,我们将如何通过R文件来实现资源调用呢?使用情况有两种:Java代码中使用和XML代码中使用。

1.java代码中使用:

Java 文字:

txtName.setText(getResources().getText(R.string.name));

图片:

imgIcon.setBackgroundDrawableResource(R.drawable.icon);

颜色:

txtName.setTextColor(getResouces().getColor(R.color.red));

布局:

setContentView(R.layout.main);

控件:

txtName = (TextView)findViewById(R.id.txt_name);

2.XML代码中使用:

通过@xxx即可得到,比如这里获取文本和图片:


但是有时候,R文件并不能像预想的那样生成出来或者可以正确使用,这里总结了几个R文件相关的错误已经解决方案:

(1)xml本身有错误,解决方案:把console中的信息clear一下,然后再clear项目一下,这个时候,console中会有很多红色的信息,参照这个肯定能准确的找到哪个文件报错了

(2)编码格式不正确,解决方案:修改编码格式为UTF-8就好

(3)莫名的配置问题,常规解决方案:1.选择菜单Project >> Clean,前提是勾选上Bulid Automatically(自动构建部署),点Clean后会重新构建项目,因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成;  2.选择工程,右键Android Tools >> Fix Project Properties这个操作有时候可以修正一些错误  3.重新建一个空的工程,然后把这里面的代码,资源文件按照对应的包路径什么的拷进去,重新生成一遍,或者从一个完好的项目里面拷贝复制一个R文件过来,随便修改一下XML文件

(4)默认的SDK版本问题,解决方案:修改SDK版本至合适版本,重新构建项目

(5)AndroidStudio包自动导入时误操作屏蔽了R文件,解决方案:打开androidStudio设置界面File->Settings->Editor->General->Auto Import打开自动引用设置界面,删除被屏蔽的R文件

(6)当以上方法均没有作用的时候,也可以尝试删除gen目录,重新编译,IDE会自动生成gen目录已经R文件

你可能感兴趣的:(Android开发中的R文件)