Android SQLite数据库在升级应用程序时添加新表
我向我的应用程序数据库中再添加一个表。Android SQLite数据库在升级应用程序时添加新表,android,android-sqlite,Android,Android Sqlite,我向我的应用程序数据库中再添加一个表。 但是,如果我升级应用程序而不清除其数据,则新表似乎不会自动添加。 因此,一些需要从新表检索数据的代码失败。 是否可以在应用程序升级时自动添加新表?是的,有一种升级方法 在此处添加代码,如果您的版本高于上一版本,则增加数据库版本 onUpgrade被激发,您的代码将执行您为添加表而编写的代码 样品 还记得在super call中增加版本代码吗 class Database extends SQLiteOpenHelper { public Database
但是,如果我升级应用程序而不清除其数据,则新表似乎不会自动添加。
因此,一些需要从新表检索数据的代码失败。
是否可以在应用程序升级时自动添加新表?
是的,有一种升级方法 在此处添加代码,如果您的版本高于上一版本,则增加数据库版本 onUpgrade被激发,您的代码将执行您为添加表而编写的代码 样品 还记得在super call中增加版本代码吗
class Database extends SQLiteOpenHelper
{
public Database(Context _myContext)
{
super(_myContext, DB_NAME, null, DB_VERSION_CODE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
if(oldVersion > newVersion)
{
// create a new table what you want to create you can also check the existence of the table
}
}
}
请实现该方法。有一个Android helper类,用于使用应用程序的原始资产文件管理数据库创建和版本管理 看看这个:
@user538565在类构造函数中,它扩展了sqliteHelper检查更新