首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android数据库检查器总是将数据库显示为“关闭”

Android数据库检查器总是将数据库显示为“关闭”
EN

Stack Overflow用户
提问于 2020-11-29 08:37:22
回答 13查看 19.8K关注 0票数 28

我试图在Android中使用数据库检查器。在设备上运行应用程序的原因是,it检查器总是将我的应用程序数据库(在图像中突出显示)显示为“关闭”。

对此是否有任何修复,或者在安装过程中我是否遗漏了什么?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2021-01-24 10:06:57

UPD。上次我遇到这个烦人的问题时,Invalidate cache/Restart帮我解决了这个问题。叹息

在调试模式下运行应用程序

(Win: Shift+F9或Mac: Control+D)有时会给我带来魔力。

不确定这是否是个bug。android文档没有提到这一点,所以我想它应该只在正常模式下工作,但出于某种原因,对我来说并非如此。

我使用(AndroidStudio4.2beta 3)。属性minSdkVersion设置为27。

我不使用Room或任何其他ORM,只使用几个简单的查询。

“保持数据库连接打开”的切换似乎也没有帮助。

在正常模式下:

在调试模式(我想要的):

值得注意的是,即使在我停止以Debug模式运行的应用程序之后,它仍然继续工作(查询数据库等):

票数 15
EN

Stack Overflow用户

发布于 2021-01-08 13:54:27

我有同样的问题,我尝试了很多东西,但没有工作,最后一天,我知道了这个问题。问题是我正在使用加密的openHelperFactory).数据库(自定义SQLite )。

对我来说,这是删除openHelperFactory后的问题。

它非常好,我的答案也许对你没有用,但对肯定的人有用。

谢谢

票数 11
EN

Stack Overflow用户

发布于 2021-07-15 11:57:41

对我来说,“关闭”的原因很可能是,我使用的框架(公开/SQLDroid)在数据库连接不起作用时关闭。

因此,即使应用程序中的所有操作都很好,数据库检查器希望对其进行调查时,数据库也已关闭。

增加下面的行基本上解决了这个问题。我不会将它放入生产代码中,因为我没有详细检查发生了什么,但它在开发过程中起到了帮助。

代码语言:javascript
复制
val db = openOrCreateDatabase("testdb.db", MODE_PRIVATE, null)
// db.close() -- DO NOT USE THIS

重要的是不要使用db.close()。当db.close()存在时,数据库检查器将数据库显示为已关闭。当它不存在时,数据库检查器通常可以工作。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65058335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档