ndroid程序中的ID是怎么来的?如何与实际资源对应?

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8553万
展开全部

Android程序中的资源ID是Android SDK自动生成的,Android SDK会自动生成一个R文件,里面有所有的资源ID。

Android设备的设备id是惟一确定一台设备的ID标识,即不同的设备是不相同的,不会重复,而且是固定不变的。

Android中的组件要用一个int类型的值来表示,这个值也就是组件标签中的ID属性值。ID属性只能接受资源类型的值,即是必须以@开头的值,例如@id/abc等。   

如果在@后面使用“+”则表示当修改完某个布局文件,并保存后,系统会自动在  R.java文件中生成相应的int类型变量。变量名就是“/”后面的值,例如@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数。

@+id 系统会自动把你起的ID名字加入到配置文件中,在业务逻辑中可以直接在R.id中找到。

而用@id 则不会自动加载到R.id 而且也不能随意起名,要在Value目录下写一个ids.xml来对每个id进行声明,声明的个格式为,<item name="" type="id" /> 这种写法主要方便统一管理

如果xyz在R.java中已经存在同名的变量,就不再生成新的变量而该组件会使用这已存在的变量的值。

R文件的说明如下:

/* AUTO-GENERATED FILE.  DO NOT MODIFY.

* This class was automatically generated by the

* aapt tool from the resource data it found.  It

* should not be modified by hand.

*/

提示开发者,这是一个自动生成的文件,不能手动去修改它。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式