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

我想知道为什么我们使用XML在Android中创build用户界面布局 。 我知道它将商业逻辑从devise中解耦出来,但除此之外,XML的意义又是什么呢?

另外我想知道在这个自动生成的R.java文件意义 。 我只知道它是根据资源的变化而生成的,它帮助我们通过它的ID访问小部件和资源。

如果有人能够对这两个方面有一个清晰的认识,那将是很棒的。

Solutions Collecting From Web of "为什么XML用于在Android中创buildUI布局?"

与大家所说的有关xml简单而高效的不同,下面是我从Ed Brunnette的Hello Android中读到的一个有意义的东西。

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

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

这是我正在寻找的那种答案(对不起,如果我的问题不是这样的话)。

selectXML的原因主要是因为它的熟悉程度以及原生支持它的IDE工具的数量。 开发人员可以selectJSON作为例子,然后将其编译为二进制文件。自动生成的R.java文件是IDE的助手,因此您可以在要访问资源时获得自动完成的好处。

XML很容易parsing和操作,它基本上是一个树形结构,大多数UI创build工具已经在使用它。 这与解耦业务逻辑无关,因为您也可以使用Model-View-Controller模式在Android中定义Java代码。

自动生成的R.java文件是IDE的助手,因此您可以在要访问资源时获得自动完成的好处。 它也阻止你犯愚蠢的错误,因为如果你试图访问你没有定义的资源,编译器会报错。 如果您正在使用一个简单的属性文件,则在运行时您将不知道正在使用的“密钥”丢失。

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

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

Xml本身很容易被人类和机器读取。 此外,它是可扩展和简单的发展。 另外,你已经提到了解耦。

至于R.java – 这只是访问小部件的方式。 该解决scheme是相当不错的,因为它使用ints而不是string来使用更less的内存,同时为简化开发提供了可读的名称。