我正在调试一个 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/