为什么我们有Android的命名空间?

时间:2018-02-28 23:16:18

标签: android namespaces

我只是不明白。

当我们在Android中编写基于XML的布局时,我们使用字符串"xmlns:android="http://schemas.android.com/apk/res/android".

好的,现在有人会说"以防止碰撞"和#34;如果我创建一个不同的命名空间然后是什么,呵呵?"。但没有人真正编写竞争架构,然后尝试用它运行他们的Android应用程序。

换句话说,如果我将默认值保留为空,则无效。但是,为什么谷歌会做出选择,如果是这样的话,什么都行不通呢?它不应该难以阅读XML并计算出元素,那么为什么要做出特定的设计决策?

1 个答案:

答案 0 :(得分:0)

来自CommonWare的评论(道歉,我不确定这个问题是否会被关闭,所以我可以尽我所能!)

" 嗯,XML命名空间通常是一个好主意(如果您正在设计多方XML)。毕竟,我们在Android XML文件中使用了一些(Android,app和tools,以此命名三个)。

但是在某些XML文件中,元素名称映射到Java类名称(例如,布局),我认为这决定了不为元素名称应用名称空间。

至于他们为什么不使用默认命名空间,我想知道这十年了。但是,在这一点上,做出这个决定的人完全不可能在Android项目上了。 "

因此,使用默认命名空间,以便我们可以在常规AndroidManifest.xml文件中使用不同的命名空间 - 例如apptools,以及android

在其他文件中,由于元素名称映射到完全限定的java包名称,因此没有理由拥有命名空间,因为所有元素名称都因此保证是唯一的。

原始设计决策不会随时随地记录,但如果你知道的话请分享!