SQLite数据库在Android中重新打开

SQLite数据库在Android中重新打开,android,sqlite,Android,Sqlite,我在SQLiteDatabase类和SQLiteDatabaseOpener中没有看到任何方法,因此我得到了以下错误: AndroidRuntime(806): Caused by: java.lang.IllegalStateException: attempt to acquire a reference on a close SQLiteClosable 设计它的好方法是什么,这样我就可以在整个过程中使用数据库,比如说某个类 谢谢 答案就在这里 这件事让我疯狂了很长一段时间。我找到的解

我在
SQLiteDatabase
类和
SQLiteDatabaseOpener
中没有看到任何方法,因此我得到了以下错误:

AndroidRuntime(806): Caused by: java.lang.IllegalStateException: attempt to acquire a reference on a close SQLiteClosable
设计它的好方法是什么,这样我就可以在整个过程中使用数据库,比如说某个类

谢谢

答案就在这里

这件事让我疯狂了很长一段时间。我找到的解决方案相当简单:不要保留对SQLiteDatabase对象的引用。相反,使用SQLiteOpenHelper并在每次需要时调用getWritableDatabase()。从文档中:

公共同步SQLiteDatabase getWritableDatabase()

创建和/或打开将用于读取和 写作。一旦成功打开,数据库将被缓存,因此您可以 每次需要写入数据库时都调用此方法

答案一直就在那里