android XML命名空间的故事是什么?

Pet*_*vdL 4 xml url android namespaces

当您第一次使用android XML命名空间中的名称时,您必须说明在哪里找到它,并使用XML中的属性,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
Run Code Online (Sandbox Code Playgroud)

但是,该URL是404 - 在那里找不到任何东西.

android:名称空间实际上包含在本地安装的SDK下.

那么这里发生了什么?为什么我需要包含一个死URL?为什么构建系统不像所有其他库那样从SDK中获取它?

谢谢,只是在寻找关于此的背景故事.

彼得

Ukk*_*kko 12

这是XML中糟糕的设计决策之一,使用URI的原因是很容易保证它们是唯一的.这是设计缺陷,用户期望他们指向某处找到某些东西.在这种情况下他们不会.

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