Android开发之版本检查更新
1、版本控制属性
versionCode:
版本号(versionCode)是一个Integer类型的值,所以不要将versionCode设置的太大,最好不要超过Integer的取值范围(当然一般也是不会超过的),一般大家在发布自己的第一个应用到市场的时候,版本取值为1(versionCode=1),这也是目前典型和普遍的做法。然后,每次发布更新版本时可以递增versionCode的值。
vertionName
版本名(versionName)一个值为String类型的属性,一般和VersionCode成对出现。VersionCode是方便程序开发者运行和维护Application而设置的一个有效的值。versionName是一个版本的描述,给用户看的,也是用户放在各个第3方平台上提供给使用者看的一个版本名,可以说是对VersionCode的解释和描述。一般格式可以为:1.1.2。(major.minor.point)的形式。
区别
版本号(versionCode):是用于判断是否升级的,一般每次版本更新,版本号加一。如果获取服务器上的版本号比检测到本程序的版本号高,那么提示升级。
版本名(versionName):用于显示版本改变的幅度大小,比如从2.0.1改变为2.0.2可能只是修改了一个很小的bug,如果改变为2.1.0可能是新增了一些功能,如果改变为3.0.0可能是有很大幅度的修改,比如很多UI界面或功能的添加!
也就是版本号用于判断是否可以升级,而版本名用于显示給用户看!
版本控制的文件位置
Eclipse中在Manifest.xml中的VersionCode为准,而Android studio也可以在Manifest.xml中也有,但是无效的,以app级别的grade中versionCode为准。
2、版本控制步骤
①从自己的服务器获取自己的APP的版本号
②检查是否更新
//对比本程序的版本号和最新程序的版本号
public void checkVersion() {
//如果检测本程序的版本号小于服务器的版本号,那么提示用户更新
if (VersionControlUtils.getVersionCode() < serviceVersionCode) {
//弹出提示版本更新的对话框