SQLiteOpenHelper dbOpenHelper = new (ctx, nameofdb);
SQLiteDatabase db = dbOpener.getWritableDatabase();
我必须对这两个问题都打电话给
.close()
,还是只打其中一个就够了?如果是,那么哪一个?SQLiteDatabase
SQLiteOpenHelper
我遇到的问题是,在Eclipse的DDMS视图中没有看到一个特定的行,但是当我使用光标获取它时,它表明我确实有这个条目。所以我想知道这可能是由于没有正确关闭数据库造成的?任何能帮忙的人都会很棒。谢谢!
最佳答案
如果您查看文档中的SQLiteOpenHelper.close()…
公共同步void close()
关闭任何打开的数据库对象。
它不会关闭数据库。
此外,如果代码正确,可以避免直接处理数据库对象。
例如,如果有一个查询经常用于获取适配器用于填充视图的光标,请在SQLiteOpenHelper
类中创建一个方法,并将该查询放入该类中。
换句话说,不要在主代码中引用实际的数据库,只要让SQLiteOpenHelper
为您做所有的事情。