注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

是缘是情是童真

如果你用笑脸面对 你会看见别人的笑脸

 
 
 

日志

 
 

Android之读取 AndroidManifest.xml 中的数据:版本号、应用名称、自定义K-V数据(meta-data)  

2013-06-26 09:24:58|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
转:http://www.2cto.com/kf/201208/151123.html

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="com.xiaoxiemi.test"
android:versionCode="1"
android:versionName="1.0" >
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<meta-data
android:name="key"
android:value="123456789" >
</meta-data>
<meta-data
android:name="channel"
android:value="web" />


<activity
android:name=".MainActivity"
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("key");
System.out.println("key:" + 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:Main
16:37:54.442: I/System.out(10213): versionName:1.0
16:37:54.442: I/System.out(10213): key:123456789
16:37:54.442: I/System.out(10213): channel:web
16:37:54.452: I/System.out(10213): name:如果你用笑脸面对,你会看见别人的笑脸
16:37:54.452: I/System.out(10213): city:深圳
  评论这张
 
阅读(715)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017