android - 调试数据库和 SQLite 文件不一致

标签 android sqlite android-room android-debug

我正在调试一个 Android 应用程序的问题,该问题似乎源于其 SQLite 数据库中的数据丢失。当我使用 Android 调试数据库打开数据库时,会显示数据。但是,当我使用 Android Studio 的设备文件资源管理器将 SQLite 文件保存到我的计算机,然后使用 SQLite 客户端打开它时,数据丢失了。

使用 Room 管理 SQLite 数据库,并使用 TablePlus 和 DB Browser for SQLite 在我的电脑上查看数据库。

最佳答案

Room 使用预写式日志记录 (WAL)。大多数时候,这意味着 SQLite 数据库由三个文件组成:

  • 不管你给基础文件起什么名字
  • 一个带有 .wal
  • 一个带有 .shm

如果您希望在其他地方使用数据库(例如,桌面 SQLite 浏览器、备份/恢复),则需要复制所有三个。

关于android - 调试数据库和 SQLite 文件不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56914722/

相关文章:

android - ScrollView 在内部 3 个 recyclerviews 中滚动不流畅

android - 如何在图像上合并和移动文本

python - 检查来自 SQLite 的数据是否满足 "number in range x-y"等约束

java - 在更新时升级部署的 Android 应用程序上的数据库

java - 如何让 android LayoutInflater 使用我的自定义资源

java - Android 将 TextViews 添加到 fragment 中

ios - 在 Objective-C 中的按钮文本中显示数组元素

android - Room 中的 Sum 和 Count - 别名没有这样的列

Android - 存储对象列表的最佳方式(存储聊天记录)

android - 如何以及在何处关闭()我的数据库以停止获取 E/SQLiteLog : (283)