为什么XML用于在Android中创建UI布局?

时间:2011-04-13 06:52:43

标签: java android

我想知道为什么我们使用 XML在Android中创建用户界面布局。我知道它将商务逻辑与设计分离,但除此之外XML的重要性是什么?

此外,我想知道自动生成R.java文件的重要性。我只知道它是根据资源的变化生成的,它可以帮助我们通过id来访问小部件和资源。

如果有人能够就这两个方面给出明确的想法,那将会很棒。

6 个答案:

答案 0 :(得分:29)

与大家所说的xml简单高效不同。这就是我从Ed Brunnette的Hello Android中读到的内容。

Android针对内存和功能有限的移动设备进行了优化,因此您可能会发现奇怪的是它如此普遍地使用XML。毕竟,XML是一种冗长的,人类可读的格式,因其简洁或高效而闻名,对吗?

虽然在编写程序时看到了XML,但Eclipse插件会调用Android资源编译器aapt,将XML预处理为压缩二进制格式。**这种格式,而不是原始XML文本,即存储在设备上。

这是我正在寻找的那种答案。(对不起,如果我的问题另有说法)。

选择XML的原因主要是因为它的熟悉程度和原生支持它的IDE工具的数量。开发人员可以选择JSON,但仍然将其编译为二进制文件。自动生成的R.java文件是IDE的帮助程序,以便在您想要访问资源时获得自动完成的好处。

答案 1 :(得分:14)

XML易于以编程方式进行解析和操作,它基本上是一种树结构,大多数UI创建工具已经使用它。它实际上与解耦业务逻辑无关,因为您也可以使用模型 - 视图 - 控制器模式在Android中定义Java代码。

自动生成的R.java文件是IDE的帮助程序,以便您在访问资源时可以获得自动完成的好处。它还可以阻止您犯下愚蠢的错误,因为如果您尝试访问未定义的资源,编译器会抱怨。如果您使用的是简单的属性文件,那么在运行时之前您将无法知道您正在使用的“密钥”。

答案 2 :(得分:3)

同样为什么Silverlight与xml的答案是简单的xml通过集成和可扩展性赋予权力。 R.java用于索引有组织的东西永远不会坏。 对不起我的英文

答案 3 :(得分:1)

一个可能的原因是你不需要在下面有任何工作的java,以便能够看到你正在使用的界面的可视布局。 xml ui元素/页面本质上是一个可以解析和显示的文档。如果这是一个源文件,你必须仔细解析它或编译并运行它(所有这些都比解析xml更复杂)

答案 4 :(得分:1)

Xml本身在人和机器上都具有良好的可读性。此外,它可扩展且易于开发。此外,您已经提到过去耦。

至于R.java--它只是访问小部件的方式。解决方案相当不错,因为它使用int而不是string来使用更少的内存,同时为开发的简单性提供了易读的名称。

答案 5 :(得分:0)

Android布局是具有某些强制规则的树状结构。 XML非常适合此目的。

JSON也具有树状结构,但是它们是面向数据的,而XML是面向文档的。**:

含义XML是基于文档具有结构化和    无需参考即可描述的其他语义元素    应该如何显示这些元素。

此类文档的实际显示可能会有所不同,具体取决于    输出媒体和样式首选项。

虽然JSON旨在    代表JavaScript,其主要目的是数据交换。它们非常适合面向数据的领域      由于其重量轻,简单易用,并且语法形式更接近于编程数据结构。