gpt4 book ai didi

java - Android 中的资源标识符值是如何确定的?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:46 25 4
gpt4 key购买 nike

我想知道 Android 资源识别系统是如何工作的。

因此,我有(例如)一个名称为“example”的 XML 布局文件。在我的 java 代码中,这是通过调用 R.layout.example 来识别的返回一个整数。

我想知道的是这个整数是如何确定的,然后又是如何确定的一个整数值用于标识和查找相应的资源。

谢谢!

最佳答案

整数存储在项目的 gen 文件夹中名为 R.java 的生成文件中。我最近正在进行的工作中的一个示例是:

public final class R {
public static final class attr {
}
public static final class drawable {
public static final int cot_logo=0x7f020000;
public static final int cot_logo_small=0x7f020001;
public static final int ic_launcher=0x7f020002;
public static final int icon=0x7f020003;
}
public static final class id {
public static final int password=0x7f060001;
public static final int username=0x7f060000;
}
public static final class layout {
public static final int login_dlg=0x7f030000;
public static final int main=0x7f030001;
}
public static final class string {
public static final int app_name=0x7f050000;
}
public static final class xml {
public static final int config=0x7f040000;
}

如您所见,它们的生成方式有一个模式。每种资源类别都有自己的工作区域。

另一件需要注意的事情是,它们是按照它们在 XML/文件夹/等中遇到的顺序生成的。因此,例如,如果您在 XML 中移动一些 View ,您将需要清理您的项目以重新生成完整的 R.java 文件。否则,整数映射将不正确,并且您最终(很可能)会遇到 ClassCastException,或者至少是意外行为。

关于java - Android 中的资源标识符值是如何确定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17792544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com