2012-06-30 238 views
0

我为我的(初学者/ Android)应用程序实现数据库。SQLiteOpenHelper澄清

这是我不清楚,如果

SQLiteOpenHelper 

是为了创建数据库(物理,写带.db/.sql文件)与

super() 

,或者如果它仍上涨给我创建这样的文件,这个类只是为了管理打开,关闭,更新数据库。

如果是这样的话,就没有其他方法可以让班级自动管理数据库,例如,刚好路过的文件名(除了做自己的^ _ ^)

谢谢

回答

3

SQLiteOpenHelper会打电话给你SQLiteOpenHelper子类的onCreate()之前创建的数据库文件。

+1

+1同意你 –

+0

好的。那么,试图用SQLiteDatabase db = this.getWritableDatabase()来检查数据库的存在有什么问题。 应用程序基本上崩溃,只要我问DB。 你是否被迫至少在DB中创建一个表来“激活”它? – 2dvisio

+0

@carmelo:“那么试图用SQLiteDatabase检查数据库的存在有什么问题db = this.getWritableDatabase();” - 没有。 “一旦我请求数据库,应用程序基本上崩溃了” - 大概你的应用程序有错误,或许在你的'onCreate()'实现中。在Eclipse中使用'adb logcat',DDMS或LogCat视图来检查LogCat并查看与崩溃相关的堆栈跟踪。 – CommonsWare

0

您可以使用NiceQL库并忘记手动创建数据库。 Android API中有很多关于创建数据库的怪癖,并且它们没有被正确记录。 NiceQL涵盖了全部。