【发布时间】:2011-11-20 09:01:36
【问题描述】:
上述标题是 Android 应用程序的要求之一。我知道 XML 是用于存储数据的代码,例如电子表格等……但是应用程序应该如何“设计”XML 模式?这又如何适用于 android 应用程序?抱歉,我对 android 应用程序或一般 android 的了解非常低。
【问题讨论】:
-
Dave 的回答说,与 android 或 Java 无关。
标签: xml
上述标题是 Android 应用程序的要求之一。我知道 XML 是用于存储数据的代码,例如电子表格等……但是应用程序应该如何“设计”XML 模式?这又如何适用于 android 应用程序?抱歉,我对 android 应用程序或一般 android 的了解非常低。
【问题讨论】:
标签: xml
应用程序不设计架构,应用程序设计人员会。 (而且它不是代码,而是数据。)
该过程与其他任何事情相同:您需要保存什么?在各个层面上需要拯救的实体是什么?想要一个可以在其中定义类型的实际 模式(.xsd 文件),还是只想要一个简单的基于 XML 的数据文件?两者是非常不同的东西。
简单的 XML 可能如下所示:
<contacts>
<contact>
<first>Dave</first>
<last>Newton</last>
<phone>630-555-1212</phone>
</contact>
<contact>
<first>Foo</first>
<last>Bar</last>
<phone>312-123-4567</phone>
</contact>
</contacts>
为此的架构定义描述了元素中的内容、它们的顺序、可选(或不可选)的内容、它们的类型等。
这与 Android 无关,而与 XML 无关。
【讨论】:
Dave 提供了一个简单明了的答案。
我的两分钱:
维基百科是我们解决这类问题的好朋友:
可扩展标记语言 (XML) 是一组用于以机器可读形式对文档进行编码的规则。它在 W3C 制定的 XML 1.0 规范[4] 和其他几个相关规范中定义,都是免费的开放标准。
XML 是否符合您的需求?这取决于……事实上,这取决于您(或您的业务客户)需要实施的数据模型。 Dave 是对的,应用程序不设计模式,开发团队根据底层业务知识设计数据模型。一旦您的数据模型在那里,您需要将其作为最终用户应用程序的基础来实现。如果有充分的理由使用 XML,请不要重新设计轮子。如果您的需求不适合现有的 XML 衍生格式,那么您将不得不考虑您的数据模型和相关的约束。根据模型和相关的建模约束,您必须选择如何定义它:W3C XML Schema、Relax NG、schematron 约束等。
我们为什么要做所有这些事情:只是为了确保输入/输出数据符合我们的需要,如果需要可以互操作并且应用程序可以理解......架构就像应用程序的 i/o 合同(是数据有效吗?)
它超出了范围,但 android 作为一个嵌入式平台,对于开箱即用的模式验证(我的意思是 W3C XML 模式验证)并不是很好,因为 API 在那里但没有实现。验证并非不可能(因为没有什么是不可能的),但强制执行服务器端数据结构验证(对于客户端/服务器用例)是合理的。如果您有一个内部模型,那么实现数据模型的 android 首选方法是 sqlite(或者您可以使用纯 java),但这是另一个问题的另一个答案……
【讨论】: