在每个Activity中,我在onCreate()方法中添加了以下几行:
database = new DatabaseHelper(this); database.open();
在每个onDestroy()方法中,以下行:
database.close();
因此,只要不破坏活动,就可以打开数据库.
有时,如果我的应用程序想要更新数据库中的某些内容,一些用户会被强制关闭.
Following error:java.lang.IllegalStateException: database not openat androID.database.sqlite.sqliteDatabase.updateWithOnConflict(sqliteDatabase.java:1776)at androID.database.sqlite.sqliteDatabase.update(sqliteDatabase.java:1731)
怎么会这样
如果我在onCreate()中打开数据库并在onDestroy()中将其关闭,应该始终打开它吗?
解决方法:
Binnyb是正确的,很可能在活动激活中引发错误时,在后台活动onDestroy中关闭了数据库.您只需要在保存/检索数据时打开/关闭数据库.
UPD:
查看google’s dev docs,如果已打开数据库,则getWritableDatabase返回一个缓存的对象.
总结以上是内存溢出为你收集整理的android-数据库打开/关闭-数据库未打开全部内容,希望文章能够帮你解决android-数据库打开/关闭-数据库未打开所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)