android中版本信息的管理

为了定义应用程序的版本信息,你需要在程序的manifest文件中进行设定。这里有两个特性,而且往往你需要同时设定这两个值:

  • android:versionCode——整数值,代表应用程序代码的相对版本,也就是版本更新过多少次。

整数值有利于其它程序比较,检查是升级还是降级。你可以把这个值设定为任何想设的值,但是,你必须保证后续更新版的值要比这个大。系统不会强制要求这一行为,但是随着版本更新值也增加是正常的行为。

一般来说,你发布的第一版程序的versionCode设定为1,然后每次发布都会相应增加,不管发布的内容是较大还是较小的。这意味着android:versionCode不像应用程序的发布版本(看下面的android:versionName)那样显示给用户。应用程序和发布的服务不应该显示这个版本值给用户。

  • android:versionName——字符串值,代表应用程序的版本信息,需要显示给用户。

与android:versionCode一样,系统不会为了任何内部的目的使用这个值,除了显示给用户外。发布的服务也需要提取这个值来显示给用户。

你需要在manifest文件中定义这两个版本特性。

下面是一个manifest的例子,展示了android:versionCode和android:versionName特性的定义。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.girlcoding.com"
android:versionCode="2"
android:versionName="1.1">
<application android:icon="@drawable/icon" android:label="@string/app_name">
...
</application>
</manifest>

在这个例子中,android:versionCode的值显示当前apk是第二版释放的代码,而android:codeName字符串中表述了相应的小版本号。

Android框架提供了一个API来查询应用程序的版本信息。为了获取版本信息,应用程序可以使用PackageManager的getPackageInfo(java.lang.String, int)方法,例如:

PackageManager manager = this.getPackageManager();
try {
PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
appVersion = info.versionName; // 版本名
catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

appVersion 就是从配置文件取出的版本名,versionCode同理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值