2010-06-17 37 views
4

當您第一次使用的名稱從Android XML命名空間,你說哪裏可以找到它,像這樣的XML屬性:android XML命名空間有什麼故事?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

然而,URL是404 - 沒有在那裏發現。

android:namespace實際上包含在本地安裝的SDK下。

那麼這裏發生了什麼?爲什麼我需要包含一個死鏈接?爲什麼構建系統不像所有其他庫一樣從SDK中選擇它?

謝謝,只是尋找這個背後的故事。

彼得

回答

12

這是XML壞的設計決策之一,使用的URI的原因是,它會很容易地保證他們是獨一無二的。這是設計上的缺陷,用戶期望他們指向某處找到某個東西。他們不在這種情況下。

它們可以用於定位資源的事實是偶然的。當你意識到它們只是唯一的字符串,那麼將定義文件包含在不同的SDK中就變得非常自然。