我想知道为什么在Android中使用XML创建用户界面布局。我知道它将业务逻辑与设计分离,但XML的重要性是什么?
另外,我想了解这个过程中自动生成的R.java
文件的意义。我只知道它根据资源的更改而生成,并且可以通过ID访问小部件和资源。
如果有人能够清楚地说明这两个方面就太好了。
我想知道为什么在Android中使用XML创建用户界面布局。我知道它将业务逻辑与设计分离,但XML的重要性是什么?
另外,我想了解这个过程中自动生成的R.java
文件的意义。我只知道它根据资源的更改而生成,并且可以通过ID访问小部件和资源。
如果有人能够清楚地说明这两个方面就太好了。
XML易于通过编程来解析和操作,它基本上是一种树形结构,并且大多数UI创建工具已经在使用它了。它与解耦业务逻辑实际上没有任何关系,因为你可以像Java代码一样使用Model-View-Controller模式定义Android中的代码。
自动生成的R.java文件是IDE的助手,这样当您想要访问资源时就能获得自动完成的好处。它还会防止您犯愚蠢的错误,因为如果您尝试访问未定义的资源,编译器将抱怨。如果您使用简单的属性文件,直到运行时您才会知道您正在使用的“键”是否缺失。
为什么Silverlight与XML一起使用?答案很简单,XML的集成和可扩展性赋予了它强大的能力。R.java用于索引,有组织地管理事物从来不是坏事。
抱歉我的英语。XML本身对人和机器都易读。此外,它是可扩展和易于开发的。您已经提到了解耦。
至于R.java - 它只是访问小部件的方式。这个解决方案相当不错,因为它使用整数而不是字符串来使用更少的内存,并且同时为开发的简单性提供易读的名称。
Android布局是树形结构,有一些强制规则。XML非常适合这个目的。
JSON也具有树形结构,但它们是面向数据的,而XML是面向文档的。
这意味着XML基于文档具有结构和其他语义元素的想法,而不必参考如何显示这些元素。
这样的文档的实际显示可能会因输出媒介和风格喜好而异。
而JSON旨在表示JavaScript,其主要目的是数据交换。由于轻量级和简单性以及更接近编程数据结构的语法形式,它们非常适用于面向数据的领域。