预填充 Android 房间数据库保持为空
Prepopulated Android Room database stays empty
我正在使用 Room 版本 2.2.6.,Android Studio 4.2.2 并在 Java.
中编写
我在模拟器中手动与应用程序交互填充了我的应用程序的数据库,它显示在应用程序和数据库检查器中,正如人们所期望的那样。我构建了一个特定的初始示例状态,我希望我的用户在第一次启动时拥有该状态。然后,我直接从设备文件资源管理器下载了 .db .db-shm .db-wal
文件,并将它们保存在 src/main/assets/databases/ 中。
在我的数据库初始化代码中,我在 .databaseBuilder
和 .build
调用之间添加了行 .createFromAsset("databases/Example.db")
,以从这些文件预填充我的数据库。
然而在擦除我的本地数据并重新安装应用程序后,数据库仍然是空的。
知道我可以搜索的方向吗?我在此处找到的所有与 createFromAsset 相关的帖子仅包含文档中相同的复制段落。
createFromAsset()
假设只需要 .db
文件。
所以,复制前先关闭数据库。如果你有 .db-shm
和 .db-wal
个文件,你没有先关闭数据库。
我正在使用 Room 版本 2.2.6.,Android Studio 4.2.2 并在 Java.
中编写我在模拟器中手动与应用程序交互填充了我的应用程序的数据库,它显示在应用程序和数据库检查器中,正如人们所期望的那样。我构建了一个特定的初始示例状态,我希望我的用户在第一次启动时拥有该状态。然后,我直接从设备文件资源管理器下载了 .db .db-shm .db-wal
文件,并将它们保存在 src/main/assets/databases/ 中。
在我的数据库初始化代码中,我在 .databaseBuilder
和 .build
调用之间添加了行 .createFromAsset("databases/Example.db")
,以从这些文件预填充我的数据库。
然而在擦除我的本地数据并重新安装应用程序后,数据库仍然是空的。
知道我可以搜索的方向吗?我在此处找到的所有与 createFromAsset 相关的帖子仅包含文档中相同的复制段落。
createFromAsset()
假设只需要 .db
文件。
所以,复制前先关闭数据库。如果你有 .db-shm
和 .db-wal
个文件,你没有先关闭数据库。