1. 程式人生 > >android中meta-data的基本用法

android中meta-data的基本用法

有時候專案是在寫不出來,就想學點新的知識找點感覺。

我也是網上看到的例子,只是自己去測試了下:

說明:一般的值可以通過value屬性來指定,但是如果要指定一個資源的id,則需要使用resource屬性來配置

(1)Activity中

在AndroidMainfest,xml中:

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category 
android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="myMsgOfActivity" android:value="hello my activity"></meta-data> </activity>
java程式碼中:
private void getActivityData(){
    ActivityInfo info= null;
    try {
        info = this
.getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } Log.e("myMsgOfActivity",info.metaData.getString("myMsgOfActivity")); }
(2)Application中:
<application
android:allowBackup=
"true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:value="hello my application" android:name="myMsgOfApplication"></meta-data> //...</application>
java程式碼中:
private void getApplicationData(){
    ApplicationInfo appInfo = null;
    try {
        appInfo = this.getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
}
    Log.e("myMsgOfApplication",appInfo.metaData.getString("myMsgOfApplication"));
}
(3)Server中:

新建一個Server類:

public class MyServer extends Service {
    @Override
public IBinder onBind(Intent intent) {
        return null;
}
}

清單檔案中:

<service android:name=".MyServer">
    <meta-data android:value="hello my service" android:name="myMsgOfServer"></meta-data>
</service>>
java程式碼中:
private void getServerData(){
    ComponentName cn=new ComponentName(this, MyServer.class);
ServiceInfo info= null;
    try {
        info = this.getPackageManager().getServiceInfo(cn, PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
}
    Log.e("myMsgOfServer",info.metaData.getString("myMsgOfServer"));
}
(4)Reciver中

清單檔案中

<receiver android:name=".MyBroadReceiver">
    <meta-data android:value="hello my receiver" android:name="myMsgOfBroadReceiver"></meta-data>
    <intent-filter>
        <action android:name="android.intent.action.PHONE_STATE"></action>
    </intent-filter>
</receiver>
新建一個廣播
public class MyBroadReceiver extends BroadcastReceiver{
    @Override
public void onReceive(Context context, Intent intent) {

    }
}

java程式碼中

private void getBroadReciverData(){
    ComponentName cn=new ComponentName(this, MyBroadReceiver.class);
ActivityInfo info= null;
    try {
        info = this.getPackageManager().getReceiverInfo(cn, PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
}
    Log.e("myMsgOfBroadReceiver",info.metaData.getString("myMsgOfBroadReceiver"));
}
這很程式猿

相關推薦

androidmeta-data基本用法

有時候專案是在寫不出來,就想學點新的知識找點感覺。 我也是網上看到的例子,只是自己去測試了下: 說明:一般的值可以通過value屬性來指定,但是如果要指定一個資源的id,則需要使用resource屬性

AndroidMenu的基本用法

一、 使用xml定義Menu 選單資原始檔必須放在res/menu目錄中。選單資原始檔必須使用<menu>標籤作為根節點。除了<menu>標籤外,還有另外兩個標籤用於設定選單項和分組,這兩個標籤是<item>和<group>。

Android獲取Manifestmeta-data元素的值

你也可以檢視我的其他同類文章,也會讓你有一定的收貨! 在AndroidManifest.xml中,< meta-data>元素可以作為子元素,被包含在< activity>、< application> 、< se

vue.jsdata用法

fun div tle new end 用法 pan 位置 turn data在vue框架中位置不一樣,用法也不一樣。簡單地說,在實例中data是一個對象,在組件中data就得是函數返回對象。 new Vue( { data : { tit

AndroidCalendar類的用法總結

jsb ews 寫法 需要 key data- minute bar 來講 Calendar是Android開發中需要獲取時間時必不可少的一個工具類,通過這個類可以獲得的時間信息還是很豐富的,下面做一個總結,以後使用的時候就不用總是去翻書或者查資料了。 在獲取時間之前要先獲

(轉)AndroidParcelable接口用法

string date 場景 應用 用法 反序列化 數組 auth 序列化對象 1. Parcelable接口 Interface for classes whose instances can be written to and restored from a Parce

PHP異常的基本用法

前言 本文 GitBook 地址: https://www.gitbook.com/book/leoyang90/laravel-source-analysis 對於一個優秀的框架來說,正確的異常處理可以防止暴露自身介面給使用者,可以提供快速追溯問題的提示給開發人員。本文會詳細的介紹&

知識困惑丨javareturn的基本用法

今天做一個題,在語句中使用了return,怎麼都得不到自己想要的結果,後來,把return去掉,換了輸出語句,所以就瞭解下return的用法; 第一個用法:方法中定義了資料型別,則必須要有一個返回值用return; public int Return() { return 0;

zcmu-4930: 堆疊的使用(stlstack的基本用法

  4930: 堆疊的使用 Time Limit: 1 Sec  Memory Limit: 32 MB Submit: 63  Solved: 27 [Submit][Status][

c++函式的基本用法(學生筆記)

使用函式首先要定義函式。 例如: void printmessage() { cout<<“How do you do!”<<endl;} 函式呼叫時應明白形式引數和實際引數的區別。 例如: void abc(int a,int b,int c) 其中a,b,c就為形

C#的XML基本用法

XML的基本用法 新建XML文件 public static void CreateXML() { /* * XML:可擴充套件的標記語言 * 用於儲存資料,類似於小型資料庫

android AndoridManifest.xml 一些基本用法

AndoridManifest.xml 是一個xml 具體是什麼東西 百度比我解釋的好 我這邊只是一些常用的用法 首先上下程式碼 在這裡插入程式碼片 <application android:allowBackup="true"

關於c++const的基本用法

c++中的const 有點類似於c裡的巨集定義#define,但是似乎是在巨集定義基礎上的程式碼優化,具體我解釋不清,下面主要提到的是 const 在c++中的3中基本用法: 1.指向常量的指標 例如:const char*  pc=“sada"; 含義:宣告一個名為

AndroidAsyncTask的簡單用法

在開發Android移動客戶端的時候往往要使用多執行緒來進行操作,我們通常會將耗時的操作放在單獨的執行緒執行,避免其佔用主執行緒而給使用者帶來不好的使用者體驗。但是在子執行緒中無法去操作主執行緒(UI 執行緒),在子執行緒中操作UI執行緒會出現錯誤。因此android提供

關於DBUtilsQueryRunner的基本用法

讀取一個Excel檔案裡面的內容,進行批量插入資料庫中;一開始想的是,最基本的操作:遍歷一個一個的提交到資料庫裡面,這樣效率太低;用了DBUtils中QueryRunner.batch()方法;參考程式碼如下: import java.sql.Connection; impo

SQL語句的基本用法

基本介紹 DML(data manipulation language): 它們是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對資料庫裡的資料進行操作的語言 。 DDL(data definition language): DD

android layer-list的用法

1.可以將多個圖片按照順序層疊起來 2.在drawable下建立一個xml檔案 [xhtml:showcolumns] view plaincopyprint? <?xml version="1.0" encoding="UTF-8"?>    

shell指令碼 陣列的基本用法

在shell指令碼中,陣列 也是一種常用的資料結構,這篇文章簡單 說一下 陣列的基本用法. 1 陣列的宣告 這樣就可以 宣告 arr  ,和 iplist 的陣列 #陣列的宣告 # 用 declare -a variable 語句來清楚地指定一個數組 # 宣告一個數組

JAVASet的基本用法

  首先我們來介紹常見的Set型別:HashSet它有幾個特性,首先它不會出現重複的元素,其次它是無序的,此外它可以含有空元素。下面我們看示例:package lab1;import java.util.HashSet;import java.util.Iterator;im

Android的Selector的用法

Android中的Selector主要是用來改變ListView和Button控制元件的預設背景。其使用方法可以按一下步驟來設計: (以在mylist_view.xml為例) 1.建立mylist_view.xml檔案 首先在res目錄下新建drawable資料夾,再在