AndroidManifest.xml檔案詳解(meta-data)

來源:互聯網
上載者:User

文法(SYNTAX):

<meta-dataandroid:name="string"
           android:resource="resource specification"
           android:value="string"/>

被包含於(CONTAINED IN):

<activity>

<activity-alias>

<service>

<receiver>

說明(DESCRIPTION):

這個元素用name-value對的格式給其父組件提供任意可選的資料。一個組件元素能夠包含任意多個<meta-data>子項目,所有這些元素中定義的值會被收集到一個Bundle對象中,並且提供給組件的PackageItemInfo.metaData屬性欄位。

通常值是通過其value屬性來指定的。但是,也可以使用resource屬性來代替,把一個資源ID跟值進行關聯。

例如,下面的代碼就是把儲存在@string/kangaroo資源中的值跟”zoo”名稱進行關聯:

<meta-data android:name="zoo" android:value="@string/kangaroo" />

另一個方面,使用resource屬性會給zoo分配一個數字資源ID,而不是儲存在資源中的值。例如:

<meta-data android:name="zoo" android:resource="@string/kangaroo" />

要避免使用多個獨立的<meta-data>實體來提供相關的資料。相反如果有複雜的資料要跟組件關聯,那麼把資料作為資源來儲存,並使用resource屬性,把相關的資源ID通知給組件。

屬性(ATTRIBUTES):

android:name

針對項目的一個唯一名稱。使用Java樣式的命名規則,可以確保名稱的唯一性,例如:

com.example.project.activity.fred。

android:resource

這個屬性定義了一個要引用的資源。資源的ID會跟這個項目進行關聯。通過Bundle.getInt()方法能夠從meta-data的Bundle對象中擷取這個ID。

android:value

這個屬性會給這個項目分配一個值。下表列出了可能分配的資料的資料類型,以及擷取這些資料的方法:

 

類型 Bundle對象方法
字串。對於一個Unicode字元,要使用雙斜線(\\)來進行轉義,如\\n和\\uxxxx getString()
整數值,如100 getInt()
布爾值,true或false getBoolean()
顏色值,如#rgb、#argb、#rrggbb、#aarrggbb getString()
浮點值,如1.23 getFloat()


 

被引入版本(INTRODUCED IN):

API Level 1

 

 

摘自 FireOfStar的專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.