GVi*_*i82 1 database sqlite android upgrade
我实现了一个使用Sqlite数据库的Android应用程序.
当我发布我的应用程序的新版本(不在playStore中)时,我将其上传到我的服务器上,因此,如果旧应用程序正在运行,调用Web服务,可以理解新版本可用.因此,下载并安装新版本.
当应用程序被重载时,数据库不会被删除,所以如果我需要对数据库进行任何更改,我需要使用以下方法:
public void onUpgrade(SQLiteDatabase _db, int oldVersion, int newVersion)
Run Code Online (Sandbox Code Playgroud)
这很好,除非我需要在我的数据库中做很多更改.在这种情况下,代码变得不可读.所以我想删除数据库并创建一个新数据库.
我该如何执行此任务?
编辑:怎么用context.deleteDatabase(DATABASE_NAME);?
对于丢弃数据库(其中数据是例如云中可用的数据的缓存副本),我通常在创建表之前onUpgrade()调用onCreate()并onCreate()执行DROP TABLE IF EXISTS <tablename>.
例如:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onCreate(db);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS foo");
db.execSQL("CREATE TABLE foo(bar INTEGER, baz TEXT");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11415 次 |
| 最近记录: |