Android 自动生成的R类

转载 2016年05月31日 17:38:08

资源文件的使用分为在代码中使用和在其他资源文件中引用该资源文件。在我们编译一个Android应用时,Android会自动生成一个R类,在该类中根据不同的资源类型又生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标示,其内容如下所示。

Java代码:
package eoe.demo;
// 资源类
public final class R {
// 数组
public static final class array {
public static final int faultRecords=0x7f060000;
}
// 属性
public static final class attr { }
// 颜色
public static final class color {
public static final int black=0x7f040001;
public static final int red=0x7f040000;
}
// 图片
public static final class drawable {
public static final int icon=0x7f020001;
public static final int logo2=0x7f020002;
}
// ID标示
public static final class id {
public static final int licenseEditText=0x7f070022;
public static final int lngEditText=0x7f070001;
}
// 布局
public static final class layout {
public static final int custom_dialog=0x7f030000;
public static final int custom_dialog1=0x7f030001;
}
// 字符串
public static final class string {
public static final int app_name=0x7f050001;
public static final int hello=0x7f050000;
}
}

1.在代码中使用资源文件
在代码中访问资源文件,我们是通过使用R资源类中定义的资源文件类型和资源文件名称来访问的。具体格式为:R.资源文件类型.资源文件名称。例如:

Java代码:
// 设置Activity显示的布局视图
setContentView(R.layout.login_system);
// 获得Button实例
cancelBtn = (Button)findViewById(R.id.cancelButton);
loginBtn = (Button)findViewById(R.id.loginButton);
// 获得TextView实例
userEditText = (EditText)findViewById(R.id.userEditText);
pwdEditText = (EditText)findViewById(R.id.pwdEditText);

另外,除了访问用户自己定义的资源文件,还可以访问系统中的资源文件。大部分的资源文件被定义在android包下的R类中。访问系统中的资源文件格式为:android.R.资源文件类型.资源文件名称。例如:

Java代码:
int i ;
// 动画
i = android.R.anim.fade_in;
// 数组
i = android.R.array.emailAddressTypes;
// 颜色
i = android.R.color.darker_gray;
// 尺寸
i = android.R.dimen.app_icon_size;
// 可绘制图片
i = android.R.drawable.title_bar;
// 字符串
i = android.R.string.cancel;

2.在其他资源文件中引用资源文件
我们经常会在布局文件的元素属性中引用其他资源文件,经常用到的有字符串、图片、颜色等资源。例如,下列布局文件中的TextView组件引用了一个字符串来表示文本内容,引用了一个颜色来表示文本颜色,引用了一个尺寸来表示文本尺寸。

Java代码:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/styled_welcome_message"
android:textColor="@color/opaque_red"
android:textSize="@dimen/sixteen_sp" />

关于android自动生成的R类

资源文件的使用需要用到R类,

Android 自动生成的R类

Android 自动生成的R类        资源文件的使用分为在代码中使用和在其他资源文件中引用该资源文件。在我们编译一个Android应用时,Android会自动生成一个R类,在该类中根...
  • kalt01
  • kalt01
  • 2014年10月10日 10:14
  • 162

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法 eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法 我的...

导入android源码有错,R.java文件不能自动生成解决方法

最近几天学习android ,学习时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法。可是导入android源码后,基本都有错误,R.java也不会自...

Android的ADT不能自动生成R.java

【问题】 之前用Android的ADT编译android项目,都是正常的,都可以正常在 gen下面生成对应的R.java。 最近遇到问题是: 在更新了ADT到最新的22版本后:...

eclipse android 不会自动生成R.java文件和包的解决办法

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动生成R...

导入android源码有错,R.java文件不能自动生成解决方法

最近几天学习android ,可是导入android源码后,基本都有错误,R.java也不会自动生成,因为是第一次导入工程,工程有错R.java就不会自动生成了,工程有错误,当然模拟器就不能启动,也就...

升级ADT插件后新建Android工程无法自动生成R.JAVA

问题描述:最近升级了下Eclipse的ADT插件,然后就悲催了:导入Android项目没问题,但修改布局文件或新建工程项目后,不能自动生成R.java! 以前碰到不能产生R文件的问题,通常的先看Pro...

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法   我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工...
  • Tongdao
  • Tongdao
  • 2013年07月26日 20:00
  • 824
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 自动生成的R类
举报原因:
原因补充:

(最多只允许输入30个字)