app用于检查触发更新。
下面是GetVersion.class的代码
package com.example.willdelete;
import android.content.Context;
import android.content.pm.PackageManager;
public class GetVersion {
/**
* 获取当前本地apk的版本
*
* @param mContext
* @return
*/
public static int getVersionCode(Context mContext) {
int versionCode = 0;
try {
//获取软件版本号,对应budild.gradle下android:versionCode
versionCode = mContext.getPackageManager().
getPackageInfo(mContext.getPackageName(), 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return versionCode;
}
/**
* 获取版本号名称
*
* @param context 上下文
* @return
*/
public static String getVerName(Context context) {
String verName = "";
try {
verName = context.getPackageManager().
getPackageInfo(context.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return verName;
}
}
在MainActivity的一个点击button点击后,用Toast显示
button.setOnClickListener
(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
String versionCode = GetVersion.getVersionCode(MainActivity.this) + "";
String versionName = GetVersion.getVerName(MainActivity.this);
Toast.makeText(MainActivity.this,versionCode,Toast.LENGTH_LONG).show();
Toast.makeText(MainActivity.this,versionName,Toast.LENGTH_LONG).show();
}
}
);
接下来,数据库的一张表的一个字段上设置版本
每次启动app时,检查本地的版本和数据库的版本是否一致,不一致的话,到一个新的Activity内,设置更新按钮。
网页资源: