我正在尝试使用databaseadapter类中的sqliteopenhelper开发一个带有2个表的数据库的应用程序。
DatabaseHelper myDBHelper;
private static SQLiteDatabase db;
private final Context context;
public DbA(Context ctx) {
this.context = ctx;
myDBHelper = new DatabaseHelper(context);
}
public DbA open() {
db = myDBHelper.getWritableDatabase();
return this;
}
public void close() {
myDBHelper.close();
}
private static class DatabaseHelper extends SQLiteOpenHelper
{
private static final String K_I = "_id";
private static final String K_CC = "cc";
private static final String T_DGI = "dgi";
private static final String CREATE_FIRSTTABLE =
"create table if not exists firsttable (" + K_I + " integer primary key autoincrement, "
+ K_CC + " text not null, "
+ ");";
private static final String CREATE_SECONDTABLE = "create table if not exists secondtable ("
+ K_I + " integer primary key autoincrement, "
+ T_DGI + " text not null, "
+ ");";
DatabaseHelper(Context context) {
super(context, DATABASE, null, D_VERS);
}
@Override
public void onCreate(SQLiteDatabase _db) {
try{
_db.execSQL(CREATE_FIRSTTABLE);
_db.execSQL(CREATE_SECONDTABLE);
}catch(SQLException e)
{ e.printStackTrace(); }
}
@Override
public void onUpgrade(SQLiteDatabase _db, int oldVersion, int newVersion) {
}
}
一路上,我通过ddms中的文件浏览器提取数据库,手动插入数据(对于两个表)并将其推回到eclipse中。在此期间,该项目在虚拟AVD仿真器中运行良好。
但是一旦我尝试使用一个实际的Android设备来运行它,它会抛出一个错误,一个logcat声明找不到secondtable?
08-17 01:48:18.951:E / SQLiteLog(4602):( 1)没有这样的表:secondtable 08-17 01:48:18.956:D / AndroidRuntime(4602):关闭VM 08-17 01:48:18.956:W / dalvikvm(4602):threadid = 1:线程退出未捕获异常(组= 0x41f23700) 08-17 01:48:18.966:E / AndroidRuntime(4602):致命异常:主
非常感谢任何想法如何解决这个问题。
这是点击应用程序中崩溃的按钮时的新logcat读取..不确定含义是什么
08-17 02:35:39.631:E /(8527):设备驱动程序API匹配 08-17 02:35:39.631:E /(8527):设备驱动程序API版本:23 08-17 02:35:39.631:E /(8527):用户空间API版本:23 08-17 02:35:39.631:E /(8527):mali:REVISION = Linux-r3p2-01rel3 BUILD_DATE = Wed 10月30日09:36:10 KST 2013
答案 0 :(得分:0)
在您的设备上卸载并重新安装该应用。
如果问题消失,那是因为:
您更改了数据库架构,添加了secondtable
,
您未更新架构版本或实施onUpgrade()
的{{1}}和
您的设备已经有一个版本的应用程序,其中包含一个数据库,该数据库是使用缺少SQLiteOpenHelper
的早期架构创建的