为什么android会创建R.java文件

为什么不将数据(strings.xml,main.xml)保留在.xml文件中?为什么把它转换成R.java? 似乎android可以读取xml(例如androidmanifest.xml)。那么为什么不将strins.xml数据和main.xml数据保留为.xml格式并将这些xml发送到Android设备? 我是新的......也许我最终会看到R.java中还有更多东西,而不仅仅是那些直接来自那些.xml的静态变量。 谢谢, 香农     
已邀请:
这样您就可以轻松地引用您在布局,可绘制和字符串文件中创建的对象。此类表示可以在代码中实例化的所有资源,或者可以在编码中使用     
因此,我认为您可以使用R类对象从代码中轻松引用资源ID,避免编译错误     
如果您的程序中有错误,您希望尽早检测到它。 如果资源保留为XML,则在运行时(测试驱动或用户驱动)将发现任何错误。测试永远不会证明没有所有缺陷,因此您的软件用户可能会发现一些错误! 但是,如果资源在
R
中转换为源,则编译器将检查对它们的所有引用。任何错误(与资源引用相关)都会在很早的阶段被检测到,早在您的客户看到它们之前。     
将XML内容的id引用转换为代码可以在编码时轻松使用这些引用,并且在编译期间可以看到正确的用法。因此避免了运行时异常。 我不知道这是否是核心原因,但这对我来说很重要:-)。     
R.java是所有资源的处理程序。 您创建资源,R.java自动在您的代码和您的资源之间建立连接。您可以轻松地从R获取各种资源,并且android提供了许多支持R.java及其处理程序(那些整数)的API。你不是很有意思。     
R.java
不包含任何数据。它在构建过程中由
aapt
生成,当它准备资源将它们打包到APK中时,包括以更易于阅读和解析的格式编译XML文件。
R.java
包含静态int成员,它们只是打包资源的索引。 请参阅构建过程的详细信息,并查看项目的
bin/
文件夹。     

要回复问题请先登录注册