当用户从以前的版本升级时,我需要在我的应用程序中重建 SQLite 数据库,因为我已经更改了数据库的内容,目前我的应用程序检查它是否是第一次运行然后构建数据库,以便在后续启动时节省时间应用程序。因此,当我更新应用程序时,数据库中的新信息都不会显示。有没有办法检查应用程序是否正在更新而不是第一次安装?这是我将数据插入数据库的代码:
boolean firstrun = getSharedPreferences("PREFERENCE", MODE_PRIVATE).getBoolean("firstrun", true);
if (firstrun){
new AlertDialog.Builder(this)
.setTitle("Welcome!") //set the Title text
.setMessage(...)
.setNeutralButton("OK", null).show(); //Sets the button type
Thread workThread=new Thread(new Runnable(){
public void run() {
dbHelper.deleteAllSpeakers(); // Clear database
dbHelper.insertSomeSpeakers(); //Add some data
runOnUiThread(new Runnable(){
@Override
public void run() {
mProgressDialog.dismiss();
Toast.makeText(MainActivity.this, "Done", Toast.LENGTH_LONG).show();
myFilter.setText("");
}
});
}
});
workThread.start();
mProgressDialog=ProgressDialog.show(this, "Loading", "Building Speaker Database");
}
任何帮助都感激不尽。