当我将我的应用程序部署到 Android 中的模拟器时,数据库也将被部署。如果我对数据库进行任何更改,它将不会再次部署到模拟器。为此,每次我必须从设备管理器中删除模拟器并创建新模拟器。这个过程真的很烦人,任何关于如何从模拟器中删除数据库并部署新数据库的想法。
问问题
789 次
6 回答
2
您只需要增加您在构造函数中提供的数据库的版本或扩展 SQLIteOpenHelper 的类......
并覆盖 SQLIteOpenHelper 中的 onUpgrade :
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (newVersion > oldVersion)
Log.v("Database Upgrade", "Database version higher than old.");
myContext.deleteDatabase(DB_NAME);
}
于 2012-06-27T06:06:39.517 回答
1
按着这些次序:
DDMS > 从左侧面板中选择模拟器
从右侧选择 fileexplorer > 选择您的应用程序包单击数据库 foder 选择您的数据库并从右上角删除它(“红色减号”)删除按钮
于 2012-06-27T06:18:40.180 回答
1
更轻松:
打开 DDMS 预置(菜单窗口 >> 打开新预置)
选择文件探索标签。
然后转到数据 > 数据 > 包装名称 > 数据库 > 数据库名称。
并删除
于 2012-06-27T06:13:22.493 回答
0
而不是删除模拟器删除数据库
ddms----> 文件资源管理器 ----> data/data/your_package_name--->databases --->yourdatabase 。
并删除它。
你可以再做一件事
只需卸载应用程序并再次安装,这将删除数据库并再次创建数据库。
于 2012-06-27T06:13:47.703 回答
0
如果您想删除数据库,另一种方法是删除表并再次重新创建表,如下所示
String Droptable="drop table if exists item_master"; // where item_master is table name
myDataBase.execSQL(Droptable);
删除后将其重新创建为
String Createtable="CREATE TABLE \"item_master\" (\"item_id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , \"item_name\" VARCHAR, \"item_img\" VARCHAR, \"item_s_desc\" TEXT, \"item_desc\" TEXT, \"item_map\" VARCHAR, \"bookmark\" VARCHAR DEFAULT N, \"category_id\" INTEGER)";
myDataBase.execSQL(Createtable);
您可以根据您的要求更改列名或添加或删除列
于 2012-06-27T06:27:03.970 回答
0
快捷方便:
context.deleteDatabase(DATABASE_NAME);
于 2012-06-27T06:08:53.727 回答