android:versionCode :版本升级所用,该值为int类型,第一个版本定义为1,以后依次递增,这样只需判断该值就能确
定是否需要升级,该值是不显示给用户的
android:versionName :版本号,该值是个字符串,该值一般是用来显示给用户的
1、主版本号
当功能模块有较大的改动,比如增加多个模块或者整体架构发生变化
2、子版本号
当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能
3、阶段版本号
一般是Bug修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的Bug即可发布一个修订版
其余还有些具体的,在此就不多做介绍了
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.xxx"
android:versionCode="2"
android:versionName="1.1">
......
一、实现判断android是否是第一次登陆
private boolean isFirstLogin() {
boolean isFirst = false;
try {
PackageInfo info = getActivity().getPackageManager()
.getPackageInfo(getActivity().getPackageName(), 0);
if (info != null) {
int currentVersion = info.versionCode;
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getActivity());
int lastVersion = prefs.getInt("VERSION_KEY", 0);
if (currentVersion > lastVersion) { // 如果当前版本大于上次版本,该版本属于第一次启动
prefs.edit().putInt("VERSION_KEY", currentVersion).commit();
isFirst = true;
}
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return isFirst;
}
二、版本更新