gpt4 book ai didi

android - 数据库打开/关闭 - 数据库未打开

转载 作者:太空狗 更新时间:2023-10-29 12:57:10 25 4
gpt4 key购买 nike

在每个 Activity 中,我都在 onCreate() 方法中添加了以下几行:

database = new DatabaseHelper(this);  
database.open();

并且在每个 onDestroy() 方法中都有以下行:

database.close();

所以只要 Activity 没有被破坏,数据库就会打开。

有时,如果我的应用想要更新数据库中的某些内容,一些用户会强制关闭。

Following error:
java.lang.IllegalStateException: database not open
at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1776)
at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1731)

这怎么会发生?
如果我在 onCreate() 中打开数据库并在 onDestroy() 中关闭它是否应该始终打开?!

最佳答案

Binnyb 是对的,很可能您的数据库在后台 Activity onDestroy 中关闭,而 Activity Activity 中出现错误。您必须在需要保存/检索数据时打开/关闭数据库。

更新:

查看google's dev docs , getWritableDatabase 如果数据库已经打开则返回一个缓存对象。

关于android - 数据库打开/关闭 - 数据库未打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5170179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com