让我们说我正在将新版应用推向Google Play(17到18)。
某些设备是否有可能将SharedPreference删除?本地数据库怎么样?
我认为如果某个设备以某种方式卸载重新安装应用程序而不是更新,可能会发生这种情况。
注意:我实际上看到在更新后,几个设备上的SharedPreferences被清除了。这就是为什么我想知道为什么,如何以及它也可能发生在数据库中。
答案 0 :(得分:1)
在您的SQLiteOpenHelper
中 @Override
public void onUpgrade(final SQLiteDatabase db, final int oldVersion, final int newVersion) {
if (oldVersion < newVersion) {
final Cursor cursor = db.rawQuery("select name from sqlite_master", null);
if (cursor != null) {
while (cursor.moveToNext()) {
db.execSQL("delete from " + cursor.getString(0));
}
cursor.close();
}
}
}