【问题标题】:How to export SQLite database the right way如何正确导出 SQLite 数据库
【发布时间】:2018-06-17 18:19:58
【问题描述】:
所以我读了很多,但仍然不明白如何去做。在应用程序数据库应该位于的位置有三个文件而不是一个 .db 现在有 .db .db-shm 和 .db-wal 那么如何将此数据库导出为一个包含所有数据的文件?因为据我所知,现在所有数据都位于文件.db-wal。
到目前为止,我尝试在导出之前关闭与数据库的所有连接,因为在 SQL documentation 中它说它 .db-wal 将被合并,但仍然是相同的场景
【问题讨论】:
标签:
android
sqlite
android-room
【解决方案1】:
这就是我的做法(在 ubuntu 机器上):
- 在 Android/Sdk/platform-tools/ 中找到 adb 文件
- 在此目录中打开命令行
-
运行以下代码,将 Sqlite 数据库从应用拉取到 SD 卡:
./adb -d shell "run-as com.example.name.myappname cp /data/data/com.example.name.myappname /databases/database.db /sdcard/database.db"
*确保将“database.db”和“com.example.name.myappname”替换为您的数据库名称和应用名称(在您的清单中找到)。
-
运行以下代码,将 Sqlite 数据从 SD 卡拉到桌面:
./adb -d pull /sdcard/database.db ~/Desktop/database.db
如果你想用这个数据库加载你的应用,我推荐使用 SQLiteAssetHelper。