1. 程式人生 > >Android讀取Manifest檔案下Application等節點下的metadata自定義資料

Android讀取Manifest檔案下Application等節點下的metadata自定義資料

 轉自:http://www.it165.net/pro/html/201411/26936.html

介紹

Android在提供了meta-date使用鍵值對的形式實現自定義配置。一般使用中作為渠道標識。可以用在<application>,<activity>,<activity-alias> ,<provider> ,<receiver>節點下。所有的值儲存在同一個Bundle裡面,可以使用 PackageItemInfo.metaData渠道這些資料。

使用形式:

1.<meta-data android:name=
"string"
2.android:resource="resource specification" 3.android:value="string" /> resource 和 value直接用一個即可,但是注意如果使用 1.<meta-data android:name="zoo" android:value="@string/kangaroo" /> 那麼得到的是ID值,也就是在R檔案裡面的數字,不是實際資源值。而要使用resource來取資源值(使用getInt()獲取)。 1.<meta-data android:name=
"zoo" android:resource="@string/kangaroo" />

android:name:確保是唯一的就OK了。

android:value:值可以是:

1.字串 使用getString()獲取

2.整數 如“100” 使用getInt()獲取

3.布林值:“true”,"false" 使用getBoolean()獲取

4.顏色值: "#rgb", "#argb", "#rrggbb", 或者 "#aarrggbb" 使用getInt()獲取

5.浮點值 :“1.2” 使用getFloat()

注意:Bundle中使用的是return (String) o;來獲取的程式碼獲取一個StringValue值的,如果你配置的想配置的一個字串的值是“000”時,但是在將metadata包裝成bundle的時候,"000"被解析成整數0,所以使用getString()獲取的會是null。

例項:

在Manifest節點裡最後加上:
1.<meta-data android:value="GOOGLEPLAY_V165" android:name="HAIWAN_CHANNEL"/> 在自定義的Application裡面一個方法: 01./** 02.* 獲取Manifest裡面配置的渠道版本 03.* <p>2014-11-14</p> 04.* @return 05.* @author RANDY.ZHANG 06.*/ 07.public String getHaiwanVersion() { 08.String channel = ""; 09.try { 10.channel = this.getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA).metaData.getString("HAIWAN_CHANNEL"); 11.catch (NameNotFoundException e) { 12.e.printStackTrace(); 13.} 14.return channel; 15.} 其他節點: 01.//在Activity應用<meta-data>元素。 02.ActivityInfo info = this.getPackageManager() 03..getActivityInfo(getComponentName(),PackageManager.GET_META_DATA); 04.info.metaData.getString("meta_name"); 05. 06.//在application應用<meta-data>元素。 07.ApplicationInfo appInfo = this.getPackageManager() 08..getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA); 09.appInfo.metaData.getString("meta_name"); 10. 11.//在service應用<meta-data>元素。 12.ComponentName cn = new ComponentName(this, MetaDataService.class); 13.ServiceInfo info = this.getPackageManager().getServiceInfo(cn, PackageManager.GET_META_DATA); 14.info.metaData.getString("meta_name"); 15. 16.//在receiver應用<meta-data>元素。 17.ComponentName cn = new ComponentName(context, MetaDataReceiver.class); 18.ActivityInfo info = context.getPackageManager().getReceiverInfo(cn, PackageManager.GET_META_DATA); 19.info.metaData.getString("meta_name");

相關推薦

Android讀取Manifest檔案Application節點metadata定義資料

 轉自:http://www.it165.net/pro/html/201411/26936.html 介紹 Android在提供了meta-date使用鍵值對的形式實現自定義配置。一般使用中作為渠道標識。可以用在<application>,<acti

jquery autocomplete 自動填充拉框的使用之定義資料顯示

官方的介紹地址為 http://jqueryui.com/autocomplete/ 本文對於簡單的使用不做介紹,僅僅介紹自定義資料結構如何進行顯示,在官方的demo中也有(http://www.jqueryui.org.cn/demo/5663.html),程式碼如下: <

android 自己呼叫系統相機儲存的照片存到定義資料夾裡面用電腦看該照片顯示0KB或者是無法檢視?或者說用手機助手匯出照片匯出失敗?

哈哈,標題有點長,之所以這樣是為了能讓遇到同樣問題的人方便搜尋到,我自己就遇到這樣的問題一直搜尋不到。   我先講一下自己遇到的問題:因為我的app有需求要拍照並且儲存起來,然後我為了方便使用者去相簿統一檢視和匯出,我就自己在手機裡面新建了一個資料夾,把我拍攝的照片放到這個

Android 總結:Manifest檔案中,application和activity標籤屬性詳解

一、application 標籤屬性 < application /> :應用的宣告。 這個元素包含了子元素,這些子元素聲明瞭應用的元件,元素的屬性將會影響應用下的所有元件。

android讀取csv檔案資料

csv檔案是一種表格形式的檔案,如果把檔案字尾名改為.txt,會發現同一行資料之間是用英文“,”隔開的。 如何讀取csv檔案以便把資料存入資料庫呢,特別是csv檔案中有些資料是空? csv檔案如下: 把檔案字尾名改為.txt後如下: 電錶id,電錶編號,模組地址,描述,所屬站點名稱,

如何讀取xml檔案,根據xml節點屬性查詢並輸出xml檔案

主要是應用SimpleXML和遞迴函式來根據key值來查詢,並將結果以xml格式輸出。 <?php header("Content-type: text/xml"); //以xml格式輸出檔案 @$key=$_GET['key']; $find=false; //echo $key."<

android讀取xml檔案來實現省份,城市,區的選擇

本部落格如需轉載,請註明出處。 -------------------------------------------------------------------------------------------------------------------------

spring boot 讀取配置檔案application.yml)中的屬性值

在spring boot中,簡單幾步,讀取配置檔案(application.yml)中各種不同型別的屬性值: 1、引入依賴: <!-- 支援 @ConfigurationProperties

Android 讀取res檔案中raw的json檔案 的工具類StreamUtils

public class StreamUtils { public static String get(Context context, int id) { InputStream stre

android讀取配置檔案寫法

在研究兩個人聊天的時候,總需要改登入賬戶和密碼,而且如果伺服器地址變了,還需要改伺服器地址,太苦逼了,索性都弄到配置檔案裡去。 借鑑了兩篇文章: 總結自己的寫法: <span style="

4. 讀取配置檔案application.yml)中的屬性值

在spring boot中,簡單幾步,讀取配置檔案(application.yml)中各種不同型別的屬性值:1、引入依賴: <!-- 支援 @ConfigurationProperties 註解 --> <dependency>     <

android 讀取本地檔案的一種方式

try {String fileUri = "layout.xml";InputStream is =MainApplication.getInstance().getAssets().open(fileUri);int size = is.available();//

Android 讀取記憶體檔案返回byte陣列

File file = new File(Environment.getExternalStorageDirectory()+"/w650.jpg"); private byte[] readFil

Android 讀取doc檔案

在Android中讀取doc檔案需要用第三方jar包tm-extractors-0.4.jar,讀取的過程很簡單 和普通的檔案流操作基本一樣,下面寫一個簡單的例子: package com.word.read; import java.io.File; import j

Android:讀取Assets檔案和raw檔案

一、讀取Assets檔案 Assets檔案不能用R.xxx.XXX呼叫 1.新建assets目錄,並在目錄中建一個txt檔案 新建assets 新建txt檔案 2.讀取該檔案資料 activity_main.xml <?xml version="1.0

android 讀取excel 檔案

在面對選擇國家地區,選擇手機號碼區號等資訊的時候,常常我們是讀取已存好的資料,我現在讀取的就是excel裡面的資料,所以在此記錄下讀取的方法以及注意點。  下面就是讀取國際地區手機區號的資料效果圖: excel表格裡面資料 1.準備工作 1.1 excel 表格  我在a

android實現拉框(spinner),定義大小顏色背景位置

1. 實現最簡單的spinner xml檔案,有一個TextView,一個Spinner: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:to

Android初級】如何實現一個有動畫效果的定義拉選單

我們在購物APP裡面設定收貨地址時,都會有讓我們選擇省份及城市的下拉選單項。今天我將使用Android原生的 **Spinner** 控制元件來實現一個自定義的下拉選單功能,並配上一個透明漸變動畫效果。 **要實現的功能及思路如下:** 1. 下拉選單樣式是自定義的、非原生效果:需要使用 setDrop

Android零基礎入門第39節:ListActivity和定義列表項

arraylist component save 高速 ram 如果 view設置 ren 屬性 相信通過前兩期的學習,以及會開發最簡單的一些列表界面了吧,那麽本期接著來學習更多方法技巧。 一、使用ListActivity 如果程序的窗口僅僅需要

在一個ros包怎麽使用另外一個定義ros包裏的message

com doc pack .cn .html docs ssa ace hit 假設自定義消息包my_message_package https://answers.ros.org/question/206257/catkin-use-ros-message-from-an