Android:如何在市场上更新应用程序时才执行一些代码?
我需要知道,当用户第一次从market(google play)安装我的新更新时,是否有办法在我的应用程序中运行一段代码 每次上传新版本的应用程序时,我都需要运行一次代码Android:如何在市场上更新应用程序时才执行一些代码?,android,versioning,google-play,Android,Versioning,Google Play,我需要知道,当用户第一次从market(google play)安装我的新更新时,是否有办法在我的应用程序中运行一段代码 每次上传新版本的应用程序时,我都需要运行一次代码 感谢阅读。使用SharedReferences存储应用程序的最新版本和当前版本,并在每次版本更改时运行代码一次。比如: public static final String LAST_VERSION = "LAST_VERSION"; public static final int VERSION_CODE =
感谢阅读。使用SharedReferences存储应用程序的最新版本和当前版本,并在每次版本更改时运行代码一次。比如:
public static final String LAST_VERSION = "LAST_VERSION";
public static final int VERSION_CODE = 4; // Same as the version code in your manifest.
SharedPreferences prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
mContext = this;
int last = prefs.getInt(LAST_VERSION, 0);
if (last < VERSION_CODE) {
//Your code
editor.putInt(LAST_VERSION, VERSION_CODE);
editor.commit();
}
公共静态最终字符串LAST\u VERSION=“LAST\u VERSION”;
公共静态最终int版本\u代码=4;//与清单中的版本代码相同。
SharedReferences prefs=GetSharedReferences(“MyPrefs”,Context.MODE\u PRIVATE);
SharedReferences.Editor=prefs.edit();
mContext=这个;
int last=prefs.getInt(最后一个版本,0);
if(最后一个<版本\代码){
//你的代码
编辑器.putInt(最新版本,版本代码);
commit();
}
使用SharedReferences存储应用程序的最新版本和当前版本,并在每次版本更改时运行一次代码。比如:
public static final String LAST_VERSION = "LAST_VERSION";
public static final int VERSION_CODE = 4; // Same as the version code in your manifest.
SharedPreferences prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
mContext = this;
int last = prefs.getInt(LAST_VERSION, 0);
if (last < VERSION_CODE) {
//Your code
editor.putInt(LAST_VERSION, VERSION_CODE);
editor.commit();
}
公共静态最终字符串LAST\u VERSION=“LAST\u VERSION”;
公共静态最终int版本\u代码=4;//与清单中的版本代码相同。
SharedReferences prefs=GetSharedReferences(“MyPrefs”,Context.MODE\u PRIVATE);
SharedReferences.Editor=prefs.edit();
mContext=这个;
int last=prefs.getInt(最后一个版本,0);
if(最后一个<版本\代码){
//你的代码
编辑器.putInt(最新版本,版本代码);
commit();
}
尽管“如何”取决于您的具体需求,但这是可能的。。。请详细说明。。。这应该是“万无一失/黑客防范…”吗?如果同一用户执行两次代码,因为他们从备份中恢复了他们的手机(使用旧版本)并第二次安装了更新,是否可以?仅当我使用新版本@yahiaorry更新应用程序时,但这并不是我所问问题的答案,因此仍然不清楚!这是可能的,尽管“如何”取决于你的确切需求。。。请详细说明。。。这应该是“万无一失/黑客防范…”吗?如果同一用户执行两次代码,因为他们从备份中恢复了他们的手机(使用旧版本)并第二次安装了更新,是否可以?仅当我使用新版本@yahiaorry更新应用程序时,但这并不是我所问问题的答案,因此仍然不清楚!我认为这很危险。因为如果用户重置手机或清除cach,则会清除shared pref。因此,您将执行相同的代码大多数情况下,每次更新执行一次的代码用于预填充共享首选项和类似的内容,当手机或应用程序被重置时,这些代码需要重新填充。这个答案是错误的,相反,您应该使用BuildConfig.VERSION\u代码,因为这是一种比使用必须手动更新才能与BuildConfig.VERSION\u代码完全匹配的常量更干净的方法。我认为这是危险的。因为如果用户重置手机或清除cach,则会清除shared pref。因此,您将执行相同的代码大多数情况下,每次更新执行一次的代码用于预填充共享首选项和类似的内容,当手机或应用程序被重置时,这些代码需要重新填充。这个答案是错误的,相反,您应该使用BuildConfig.VERSION\u代码,因为这是一种比使用常量更干净的方法,您必须手动更新该常量才能完全匹配BuildConfig.VERSION\u代码