Android的XML命名空间是什么意思?

4

当您第一次使用来自android XML命名空间的名称时,您必须在XML中使用属性来说明其位置,例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

然而,该网址为 404 - 没有找到任何内容。

android: 命名空间实际上包含在本地安装的 SDK 中。

那么这是怎么回事呢?为什么我需要包含一个无效的网址?为什么构建系统不能像所有其他库一样从 SDK 中获取它?

谢谢,只是想了解其中的历史背景。

Peter

1个回答

13

这是XML中一个糟糕的设计决策之一,使用URI的原因是很容易保证它们是唯一的。这是设计缺陷,用户期望它们指向某个位置来定位某些内容。但在这种情况下并不是这样的。

它们可以用于定位资源这一事实有点偶然。当你意识到它们只是唯一字符串时,将定义文件包含在不同的SDK中就变得非常自然了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接