当您第一次使用android XML命名空间中的名称时,您必须说明在哪里找到它,并使用XML中的属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
但是,该网址是404 - 在那里找不到任何内容。
android:namespace实际上包含在本地安装的SDK下。
那么这里发生了什么?为什么我需要包含一个死URL?为什么构建系统不像所有其他库那样从SDK中选择它?
谢谢,只是在寻找关于此的背景故事。
彼得
答案 0 :(得分:12)
这是XML中糟糕的设计决策之一,使用URI的原因是很容易保证它们是唯一的。这是设计缺陷,用户期望他们指向某处找到某些东西。在这种情况下他们不会。
它们可用于查找资源这一事实是偶然的。当您意识到它们只是唯一的字符串时,将定义文件包含在不同的SDK中变得非常自然。