我正在尝试更新我的应用程序。为此,我试图从本地路径重新安装我的应用程序。
public void installApplication(String fileLocalPath){
Uri installpackageURI = Uri.parse("package:ABC");
Intent installIntent = new Intent(android.content.Intent.ACTION_VIEW, installpackageURI);
installIntent.setDataAndType(Uri.parse(fileLocalPath), "application/vnd.android.package-archive");
// deleteDatabase(DatabaseName);
// startActivity(installIntent);
}
它为用户提供确认安装的警报。现在,如果我在启动intent之前通过调用deleteDatabase函数(在上面的代码中注释)删除数据,然后如果我取消安装,则数据将丢失。
否则我无法清除数据。
请建议我在更新时清除数据的方法。提前谢谢。
答案 0 :(得分:0)
我认为通过升级数据库版本并在数据库帮助程序中编写以下代码来处理此问题的正确方法。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);
}
更多信息请参阅API演示中的Note Pad示例。