【发布时间】:2018-08-29 21:14:51
【问题描述】:
我正在尝试设置 Room 数据库备份功能。 问题是 sql 数据库文件在下载后不包含应用程序中的最新数据集。它总是错过一些最近的记录。 有没有导出房间数据库的正确方法? 附言在使用 sqliteHelper 处理我的数据库时,我没有遇到类似的问题,所以我想它一定与 Room 有关。
我的做法:
@Throws(IOException::class)
private fun copyAppDbToDownloadFolder(address: String) {
val backupDB = File(address, "studioDb.db")
val currentDB = applicationContext.getDatabasePath(StudioDatabase.DB_NAME)
if (currentDB.exists()) {
val src = FileInputStream(currentDB).channel
val dst = FileOutputStream(backupDB).channel
dst.transferFrom(src, 0, src.size())
src.close()
dst.close()
}
}
【问题讨论】:
-
备份开始时也会更新
-
试试这个stackoverflow.com/questions/44986465/…希望对你有帮助
-
试试this。
-
你应该在复制之前关闭你的数据库,试试这个stackoverflow.com/a/53976242/4858757
标签: android android-sqlite android-room android-sql