【发布时间】:2022-08-02 18:38:29
【问题描述】:
我想将我的 sqlite 数据库从\"/data/data/\" + c.getPackageName() + \"/databases/\" + DATABASE_NAME; 复制到用户想要在 java+xml 模式下备份的任何地方,并且恢复它没有任何问题。,
但是当我使用房间+撰写时。复制数据库时,没有任何问题,但无法恢复此(从备份复制到 \"/data/data/\"....,打开数据库时,此删除。
我认为我们可能必须在恢复数据库之前强制关闭房间数据库。 我的复制功能类是:
InputStream myInput = new FileInputStream(from);
OutputStream myOutput = new FileOutputStream(to);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
标签: android android-sqlite android-room android-jetpack-compose