当我们在Android中编写基于xml的布局时,我们使用字符串“xmlns:android =”http://schemas.android.com/apk/res/android“ .
从我读过的书中可以看出这是一个命名空间,但为什么我们使用它?该链接甚至不存在 . 那有什么用?
因为您要在XML中引用android定义键 . 所以,资源将使用命名空间识别密钥,这就是我们在每个Android XML文件中定义命名空间的原因,如: - "xmlns:android="http://schemas.android.com/apk/res/android".
"xmlns:android="http://schemas.android.com/apk/res/android".
现在在XML中你可以使用android标签来引用键,如: -
<FrameLayout android:id="@+id/id" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/color">
使用android命名空间,您可以找到键 id , layout_width 和 layout_height .
有关更多信息,请参阅here .
来自developer.android.com
的xmlns:机器人
定义Android命名空间 . 此属性应始终设置为“http://schemas.android.com/apk/res/android” .
xmlns:android用于识别此xml用于android,而不是用于其他功能 .
命名空间唯一标识代码/库 . 如果我写一个使用所有相同名称的API,例如android api,区分我的api和android api的唯一方法是使用android命名空间,或者我的 .
你可以进一步参考http://en.wikipedia.org/wiki/XML_namespace
您可能想要对XML进行一些常规阅读 . w3.org's XML documentation可能是你最好的 .
通常,使用名称空间,以便您不会在元素名称之间发生冲突 .
例如,如果我创建了一个定义元素 <person> 的XML模式,并且我的朋友创建了一个单独的XML模式,该模式定义了一个完全不同的元素,该元素恰好也被命名为 <person> ,那么我们可能会发生冲突 . 如果我试图在XML文件中引用这两个元素,那么就无法分辨哪个是哪个元素 . 但是,如果我们使用名称空间,myNamespace:person明显不同于myFriendsNamespace:person .
<person>
定义命名空间的标准是使用URI,这就是您在Android定义中看到的原因 . 它并不一定意味着该位置存在模式,这意味着URI是该命名空间的唯一名称 .
确实链接不存在 . 但是我们使用的字符串用于声明命名空间...在XML中,命名空间用于避免命名冲突 . 您可以参考此链接以获得更多说明http://www.w3schools.com/XML/xml_namespaces.asp
4 回答
因为您要在XML中引用android定义键 . 所以,资源将使用命名空间识别密钥,这就是我们在每个Android XML文件中定义命名空间的原因,如: -
"xmlns:android="http://schemas.android.com/apk/res/android".
现在在XML中你可以使用android标签来引用键,如: -
使用android命名空间,您可以找到键 id , layout_width 和 layout_height .
有关更多信息,请参阅here .
来自developer.android.com
的xmlns:机器人
定义Android命名空间 . 此属性应始终设置为“http://schemas.android.com/apk/res/android” .
xmlns:android用于识别此xml用于android,而不是用于其他功能 .
命名空间唯一标识代码/库 . 如果我写一个使用所有相同名称的API,例如android api,区分我的api和android api的唯一方法是使用android命名空间,或者我的 .
你可以进一步参考http://en.wikipedia.org/wiki/XML_namespace
您可能想要对XML进行一些常规阅读 . w3.org's XML documentation可能是你最好的 .
通常,使用名称空间,以便您不会在元素名称之间发生冲突 .
例如,如果我创建了一个定义元素
<person>
的XML模式,并且我的朋友创建了一个单独的XML模式,该模式定义了一个完全不同的元素,该元素恰好也被命名为<person>
,那么我们可能会发生冲突 . 如果我试图在XML文件中引用这两个元素,那么就无法分辨哪个是哪个元素 . 但是,如果我们使用名称空间,myNamespace:person明显不同于myFriendsNamespace:person .定义命名空间的标准是使用URI,这就是您在Android定义中看到的原因 . 它并不一定意味着该位置存在模式,这意味着URI是该命名空间的唯一名称 .
确实链接不存在 . 但是我们使用的字符串用于声明命名空间...在XML中,命名空间用于避免命名冲突 . 您可以参考此链接以获得更多说明http://www.w3schools.com/XML/xml_namespaces.asp