Android软件在线升级之本地版本号读取

第一次参加android应用软件项目,做了一个软件的在线升级,由于是企业软件项目,不会在Androd就用商店上线,时在企业应用服务器上更新使用,但升级的方法与思路是一样的。


首先要先了解,AndroidManifest.xml,文件中manifest节点的二个属性,android:versionCode、androidvoid:versionName二个属性。代码如下:

说明:

android:versionCode是int型的对像,这个是版本升级的主要判断对像。每发部一个新版本,android:versionCode就要增加1。由于表示当前版本的系统版本号。

android:versionName是版本的名称,这个是软件做替换时,提示给用户看的版本名称,这个名称是字符串型。可以写在方便用户记录的版本名称。


以windows举例 :

Win7           6.1.7600

Win7sp1     6.1.7601

Win8          6.2.9200

Win8.1       6.3.9600


windows 7就是versionName的版本名称,就是给用户记录与查找的。而后而的6.1.7600就是它的内部版本号。用于升级使用。就是versionCode。只不过android中记录的是int型,而不是字符串。

在代码中可以通过下面的代码来读取到当前包的信息,用来判断是否要进行升级。

public static PackageInfo getVersion(Context context){
               //获取版本号
PackageInfo pi;
//pi.versionName 版本名称
//pi.versionCode 版本号
try {pi=context.getPackageManager().getPackageInfo(context.getPackageName(), 0);} catch (NameNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();return context.getString(R.string.version_unknown);}finaly{
return pi;
}
 }






你可能感兴趣的:(Android)