編輯:關於Android編程
Android開發中我們常常需要知道,當前應用的版本信息。可以進行自動升級判斷。擴展自定義數據 meta-data, 這些數據都在AndroidManifest.xml .我們如何獲取這些信息呢?
下來示例如何讀取這些數據。
1 版本信息、應用名稱
2 Appliction 的Meta-data
3 Activity中的Meta-data
AndroidManifest.xml中的定義如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="hpc.cai.test01"
android:versionCode="1"
android:versionName="1.0" >
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<meta-data
android:name="tel"
android:value="cdma-13366350377" >
</meta-data>
<meta-data
android:name="channel"
android:value="eben" />
<activity
android:name="hpc.cai.test.Test1Activity"
android:label="@string/app_name" >
<meta-data
android:name="name"
android:value="自強不息" >
</meta-data>
<meta-data
android:name="city"
android:value="北京" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
java 代碼:
/**
* activity MetaData讀取
*/
private void testActivityMetaData() {
ActivityInfo info;
try {
info = getPackageManager().getActivityInfo(getComponentName(),
PackageManager.GET_META_DATA);
String msg = info.metaData.getString("name");
System.out.println("name:" + msg);
msg = info.metaData.getString("city");
System.out.println("city:" + msg);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* appliction MetaData讀取
*/
private void testApplicationMetaData() {
ApplicationInfo info;
try {
info = this.getPackageManager().getApplicationInfo(
getPackageName(), PackageManager.GET_META_DATA);
String msg = info.metaData.getString("tel");
System.out.println("tel:" + msg);
msg = info.metaData.getString("channel");
System.out.println("channel:" + msg);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 測試版本信息
*/www.2cto.com
private void getVersion(){
PackageInfo pkg;
try {
pkg = getPackageManager().getPackageInfo(getApplication().getPackageName(), 0);
String appName = pkg.applicationInfo.loadLabel(getPackageManager()).toString();
String versionName = pkg.versionName;
System.out.println("appName:" + appName);
System.out.println("versionName:" + versionName);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
輸出如下:
16:37:54.442: I/System.out(10213): appName:Test1
16:37:54.442: I/System.out(10213): versionName:1.0
16:37:54.442: I/System.out(10213): tel:cdma-13366350377
16:37:54.442: I/System.out(10213): channel:eben
16:37:54.452: I/System.out(10213): name:自強不息
16:37:54.452: I/System.out(10213): city:北京
近日,遇到一個Dialog半透明背景消失的問題,背景需求是自定義Dialog實現警告提示框:// 初始化警告彈出框 alertDialog = new EmpAlertV
EditText可以通過layer-list來繪制背景: //用白色來填充裡面
1.前言在Android安全的研究工作中,我們時常要對Android進行改進並對其進行源碼編譯,由於目前幾乎所有的手機廠商均對其底層驅動實行封閉政策,導致我們在完成And
經過一個星期的折騰,終於做完了這個Android 聊天表情輸入、表情翻頁帶效果、下拉刷新聊天記錄。這只是一個單獨聊天表情的輸入,以及聊天的效果實現。因為我沒有寫服務器,所