我在SQLiteDatabase
类和SQLiteDatabaseOpener
中看不到任何方法因此我收到了此错误:
AndroidRuntime(806): Caused by: java.lang.IllegalStateException: attempt to acquire a reference on a close SQLiteClosable
设计它的好方法是什么,以便我可以在整个某个类中使用数据库?
谢谢!
答案 0 :(得分:2)
答案就在这里 Exception: attempt to acquire a reference on a close SQLiteClosable
这个让我疯狂的时间最长。我发现的解决方案非常简单:不要保留对SQLiteDatabase对象的引用。相反,使用SQLiteOpenHelper并在每次需要时调用getWritableDatabase()。来自文档:
public synchronized SQLiteDatabase getWritableDatabase()
创建和/或打开将用于阅读和的数据库 写作。成功打开后,数据库将被缓存,因此您可以 每次需要写入数据库时都调用此方法。
答案就在那儿。