Android中meta-data的使用示例
MainActivity如下:
package cc.testmetadata;import android.os.Bundle;import android.app.Activity;import android.content.ComponentName;import android.content.pm.ActivityInfo;import android.content.pm.PackageManager;/** * Demo描述: * 测试meta-data的使用 * * Activity的meta-data为: * <meta-data android:name="name" android:value="zxx"/> * <meta-data android:name="number" android:value="9527"/> * <meta-data android:name="country" android:resource="@string/location"/> * * 取得方式: * String name=bundle.getString("name"); * int number=bundle.getInt("number"); * String country=getString(bundle.getInt("country")); */public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init() {try {PackageManager packageManager = getPackageManager();ComponentName componentName = new ComponentName(this,MainActivity.class);ActivityInfo activityInfo = packageManager.getActivityInfo(componentName,PackageManager.GET_META_DATA); Bundle bundle=activityInfo.metaData; String name=bundle.getString("name"); int number=bundle.getInt("number"); String country=getString(bundle.getInt("country")); System.out.println("name="+name+",number="+number+",country="+country);} catch (Exception e) {System.out.println(e.toString());}}}
AndroidManifest.xml如下:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cc.testmetadata" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="cc.testmetadata.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="name" android:value="zxx"/> <meta-data android:name="number" android:value="9527"/> <meta-data android:name="country" android:resource="@string/location"/> </activity> </application></manifest>
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试meta-data的使用" android:layout_centerInParent="true" /></RelativeLayout>