Abh*_*bhi 2 database sqlite android
安装较新/现有版本的App时,会创建SQLite数据库而不是重用 - 现有数据库将消失.
这是我的课程
class HDDBAdapter {
int DB_LOCA_VERSION = 1;
HDDBOpenHelper hdHelper;
HDDBAdapter(_ctxt) {
hdHelper = new HDDBOpenHelper(_ctxt, "mydb.db", null, DB_LOCA_VERSION);
}
open() {
try {
db =hdHelper.getWritableDatabase();
}
catch ...
}
static class HDDBOpenHelper extends SQLiteopenHelper {
public HunyDewDBOpenHelper(Context ct, String n, CursorFactory cf, int v) {
super(ct, n, cf, vv);
}
private static final String DB_CREATE_BOX = "create table " + "mydb.db" + "("
+ ... + ");";
public void onCreate(SQLiteDatabase arg0) {
arg0.setVersion(DB_LOCA_VERSION);
arg0.execSQL(DB_CREATE_BOX);
}
public void onOpen(SQLiteDatabase db) {
// TODO Auto-generated method stub
super.onOpen(db);
}
Run Code Online (Sandbox Code Playgroud)
}
DB_LOCA_VERSION getWritableDatabase
我第一次运行应用程序 - 应用程序使用我的输入创建一个数据库.然后我加载了一个更新版本的应用程序 - onCreate 保持不变.在较新的版本中,它是与更改的数据库无关的逻辑.
所以我首先"强制停止"应用程序(不执行"清除数据"),然后卸载应用程序.现在我运行较新的版本 - 这个较新的版本不使用现有的数据库 - 它创建一个新的版本.这是为什么?我想使用现有的数据库.如果我在这里遗漏了什么,请告诉我.任何线索/指针/问题都会有所帮助.
当我安装它显然在内部失败 onOpen ,所以 - 先 HDDBAdapter被调用 - 之前 hdHelper .请注意构造函数 getWritableDatabase 在应用程序版本中保持不变 - 所以它不应该获得 onCreate 现有的"mydb.db"吗?并没
class HDDBAdapter {
int DB_LOCA_VERSION = 1;
HDDBOpenHelper hdHelper;
HDDBAdapter(_ctxt) {
hdHelper = new HDDBOpenHelper(_ctxt, "mydb.db", null, DB_LOCA_VERSION);
}
open() {
try {
db =hdHelper.getWritableDatabase();
}
catch ...
}
static class HDDBOpenHelper extends SQLiteopenHelper {
public HunyDewDBOpenHelper(Context ct, String n, CursorFactory cf, int v) {
super(ct, n, cf, vv);
}
private static final String DB_CREATE_BOX = "create table " + "mydb.db" + "("
+ ... + ");";
public void onCreate(SQLiteDatabase arg0) {
arg0.setVersion(DB_LOCA_VERSION);
arg0.execSQL(DB_CREATE_BOX);
}
public void onOpen(SQLiteDatabase db) {
// TODO Auto-generated method stub
super.onOpen(db);
}
Run Code Online (Sandbox Code Playgroud)
}
有理由 DB_LOCA_VERSION 被调用.
谢谢
所以我首先"强制停止"应用程序(不执行"清除数据"),然后卸载应用程序.现在我运行较新的版本 - 这个较新的版本不使用现有的数据库 - 它创建一个新的版本.这是为什么?
因为当您卸载应用程序时,该应用程序的所有数据库都将被删除.
| 归档时间: |
|
| 查看次数: |
816 次 |
| 最近记录: |