Android软件在线升级之本地版本号读取
2015-08-13 09:31
489 查看
第一次参加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型,而不是字符串。
在代码中可以通过下面的代码来读取到当前包的信息,用来判断是否要进行升级。
//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;
}
}
首先要先了解,AndroidManifest.xml,文件中manifest节点的二个属性,android:versionCode、androidvoid:versionName二个属性。代码如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.peopledaily" android:versionCode="2" android:versionName="1.01" >
说明:
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){ <pre name="code" class="java"> //获取版本号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 java 结束线程的正确操作
- android项目解刨之时间轴
- android开发知识小点
- 【解决】Android自定义Dialog无法横向填满
- Android应用开发技巧之更方便的使用Sqlite
- android studio f3怎么不跳转?
- Android源码——小苏闹钟
- onSaveInstanceState和onRestoreInstanceState触发的时机
- Android RecyclerView的StaggeredGridLayoutManager和CardView
- 百度地图(Android)多地图重叠bug记录
- android ORM数据库框架ActiveAndroid的简单使用
- Android读取assets中文件
- android bind service总结
- 根据mac地址+deviceid获取设备唯一编码 获取手机及SIM卡相关信息
- Android常用工具方法(关闭软键盘,安装apk,检测程序是否安装...)
- Android之如何自定义ListView样式
- Android之如何给ListView添加过滤器
- Android之如何使用ListView列表视图
- Android测试中被测应用挂了怎么办?
- Android测试中被测应用挂了怎么办?