Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么android创建R.java文件_Android_Xml_R.java File - Fatal编程技术网

为什么android创建R.java文件

为什么android创建R.java文件,android,xml,r.java-file,Android,Xml,R.java File,为什么不把数据(strings.xml、main.xml)留在.xml文件中呢?为什么要将其转换为R.java android似乎可以读取xml(例如androidmanifest.xml)。那么,为什么不将strins.xml数据和main.xml数据保留为.xml格式,并将这些xml发送到android设备呢 我是新来的。。。也许我最终会看到,除了直接从那些.xml派生的静态变量之外,R.java中还有更多的内容 谢谢, Shannon以便您可以轻松引用在布局、可绘制和字符串文件中创建的对象

为什么不把数据(strings.xml、main.xml)留在.xml文件中呢?为什么要将其转换为R.java

android似乎可以读取xml(例如androidmanifest.xml)。那么,为什么不将strins.xml数据和main.xml数据保留为.xml格式,并将这些xml发送到android设备呢

我是新来的。。。也许我最终会看到,除了直接从那些.xml派生的静态变量之外,R.java中还有更多的内容

谢谢,
Shannon

以便您可以轻松引用在布局、可绘制和字符串文件中创建的对象。此类表示可在代码中实例化或可在编码中使用的所有资源

将XML内容的id引用传输到代码中可以方便地在编码时使用这些引用,并且在编译时可以看到正确的用法。因此避免了运行时异常


我不知道这是否是核心原因,但这对我来说很重要:-)。

为了便于使用R类对象从代码中引用资源ID,避免编译错误,我认为R.java是所有资源的处理程序


您可以创建资源,R.java会自动在代码和资源之间建立连接。您可以轻松地从R获取各种资源,android提供了大量支持R.java及其处理程序(这些int)的API。您不需要手动打开一个流来恢复文件、读取文件、解码图像等等。这非常方便

R.java
不包含任何数据。它由
aapt
在构建过程中生成,当时它准备将资源打包到APK中,包括以更易于读取和解析的格式编译XML文件
R.java
包含静态int成员,这些成员只是打包资源的索引


请参阅,并查看项目的
bin/
文件夹。

如果程序中有错误,您希望尽早检测到它

如果资源以XML形式保留,则在运行时(测试驱动或用户驱动)会发现任何错误。测试永远无法证明没有所有缺陷,因此您的软件用户可能会发现一些缺陷


但是,如果资源在
R
中转换为源代码,那么编译器将检查对它们的所有引用。任何bug(与资源引用相关)都会在这个更早的阶段被检测到,远远早于您的客户发现它们。

如果您对答案感到满意,那么最好接受您认为最好的答案。这是一种奖励,告诉人们问题已经解决。要接受答案,请单击答案旁边的勾号。这也会给你分数,所以你也有权投票(作为另一种形式的奖励)。