android r类的作用,Android开发中的R理解

一.R文件

当Android应用程序被编译,会自动生成一个R类,其中包含了所有的res/目录下资源的ID,如布局文件,资源文件,图片

res目录下保存的文件大多数都会被编译,并且被赋予资源ID,这些ID被保存在R.java文件中,这样我们就可以在程序中通过ID来访问res类的资源

资源文件只能以小写字母和下划线做首字母,随后的名字中只能出现【a-z0-9_.】这些字符,否则R.java不会自动更新

在写Java代码的过程中,你可以使用R类,通过子类+资源名或者直接使用资源ID来访问资源

二. R.java文件中资源RD的含义

Android中的资源使用几乎无处不在,layout,String、drawable、raw、style、theme等等都是,这些资源会在编译过程中被打包进APK中(res文件夹)或者被打包成独立的资源APK包(如framework-res.apk)

资源都会被赋予独一无二的ID,即资源索引来方便系统的访问

这些资源索引由Androi的,的工具AAPT(Android Asset Packing Tool)生成八位十六进制整数型

public static final int bar = 0x7F020003

7F:资源属于应用APK包资源

01资源属于系统资源包

后四位:资源在资源包该资源类型中的编号

02:drawable

03:layout

04:values

05:xml

06: raw

07: color

08: menu

//获取文字

getResources().getText(R.string.name)

//图片

getDrawable(R.drawable.icon)

//颜色

getResources().getColor(R.color.red)

//布局

setContentView(R.layout.main)

三、在XML文件中引用R资源ID

格式:@【package:】type/name

xml文件中,如main.xml以及AndroidMainfest.xml文件中通过"@drawable/icon"的方式获取,其中"@"代表的是R.java类,"drawable"代表的是R.java中的静态内部类"drawable","/icon"代表静态内部类"drawable"中的静态属性"icon"

凡是在R文件中定义的资源都可以通过"@Static_inner_classes_name/resource_name"的方式获取,如"@id/button","@string/app_name"

若是访问Android系统自带的文件,则需要添加"Android:"例如 android:textColor="@android:color:red"

四、在XML文件中向R类添加资源ID

在布局文件中当我们需要为一些组件添加ID属性作为识别,可以使用如下的表达式:"@+id/string_name",其中"+"表示在R.java的名为id的内部类中添加一条记录

例如"@+id/button"表示在R.java文件中的id这个静态内部类添加一条常量名为button,该常量就是该资源的标识符,若id这个静态内部类不存在,则会先生成它

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值