android 获取数据库版本信息吗,android 读取 AndroidManifest.xml 中的数据:版本号、应用名称、自定......

Android开发中我们常常需要知道,当前应用的版本信息。可以进行自动升级判断。扩展自定义数据 meta-data, 这些数据都在AndroidManifest.xml .我们如何获取这些信息呢?

下来示例如何读取这些数据。

1 版本信息、应用名称

2 Appliction 的Meta-data

3 Activity中的Meta-data

AndroidManifest.xml中的定义如下:

package="hpc.cai.test01"

android:versionCode="1"

android:versionName="1.0" >

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

android:name="tel"

android:value="cdma-13366350377" >

android:name="channel"

android:value="eben" />

android:name="hpc.cai.test.Test1Activity"

android:label="@string/app_name" >

android:name="name"

android:value="自强不息" >

android:name="city"

android:value="北京" />

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();

}

}

/**

* 测试版本信息

*/

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:北京

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值