<meta-data>
英文原文:http://developer.android.com/guide/topics/manifest/meta-data-element.html
采集(更新)日期:2014-7-1
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmuq.html
- 语法:
-
<meta-data android:name="string"
android:resource="resource specification"
android:value="string" /> - 包含于:
-
<activity>
<activity-alias>
<application>
<provider>
<receiver>
-
<service>
- 说明:
- 一个以键-值对表示的数据项,以供父组件作为附加数据使用,数据类型任意。
一个组件元素可以包含任意数量的<meta-data>
子元素。
这些子元素的值存放在一个Bundle
对象中,组件可以通过PackageItemInfo.metaData
字段访问这些数据。普通类型的值可以通过
value
属性来给定。
而资源 ID 的值则必须用resource
属性来指定。
比如,以下代码把“zoo
”的名称赋值为@string/kangaroo
资源中存储的数据:<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 告知组件。 - 属性:
-
android:name
- 数据项的唯一名称。 为了确保名称的唯一性,可使用 Java 风格的命名规则 — 如“
com.example.project.activity.fred
”。 android:resource
- 对某个资源的引用。赋值为资源 ID 。 通过
Bundle.getInt()
方法可以从 meta-data Bundle 中读取该资源 ID。 android:value
- 赋给数据项的值。 下表列出了可赋予的数据类型、组件用 Bundle 对象获取该类值的方法:
类型 Bundle 方法 字符串值,双反斜杠( \\
)作为转义字符 — 比如“\\n
”、“\\uxxxxx
”表示 Unicode 字符getString()
整数值,比如“ 100
”getInt()
布尔型值,“ true
”或“false
”getBoolean()
颜色值,格式为“ #rgb
”、“#argb
”、“#rrggbb
”或“#aarrggbb
”getInt()
浮点型值,比如“ 1.23
”getFloat()
- 引入自:
- API 级别 1