我只是不明白。
当我们在Android中编写基于XML的布局时,我们使用字符串"xmlns:android="http://schemas.android.com/apk/res/android".
好的,现在有人会说"以防止碰撞"和#34;如果我创建一个不同的命名空间然后是什么,呵呵?"。但没有人真正编写竞争架构,然后尝试用它运行他们的Android应用程序。
换句话说,如果我将默认值保留为空,则无效。但是,为什么谷歌会做出选择,如果是这样的话,什么都行不通呢?它不应该难以阅读XML并计算出元素,那么为什么要做出特定的设计决策?
答案 0 :(得分:0)
来自CommonWare的评论(道歉,我不确定这个问题是否会被关闭,所以我可以尽我所能!)
" 嗯,XML命名空间通常是一个好主意(如果您正在设计多方XML)。毕竟,我们在Android XML文件中使用了一些(Android,app和tools,以此命名三个)。
但是在某些XML文件中,元素名称映射到Java类名称(例如,布局),我认为这决定了不为元素名称应用名称空间。
至于他们为什么不使用默认命名空间,我想知道这十年了。但是,在这一点上,做出这个决定的人完全不可能在Android项目上了。 "
因此,使用默认命名空间,以便我们可以在常规AndroidManifest.xml文件中使用不同的命名空间 - 例如app
和tools
,以及android
。
在其他文件中,由于元素名称映射到完全限定的java包名称,因此没有理由拥有命名空间,因为所有元素名称都因此保证是唯一的。
原始设计决策不会随时随地记录,但如果你知道的话请分享!