gpt4 book ai didi

android - 恢复后刷新 SQLite 数据库引用

转载 作者:太空狗 更新时间:2023-10-29 14:06:33 25 4
gpt4 key购买 nike

我有一个备份模块,可以从备份中恢复 SQLite 数据库。首先,它删除当前数据库文件,然后将备份数据库字节复制到数据库目录。数据库恢复后,我要求用户重新启动应用程序,包括将其从内存中删除。这工作正常。

有没有办法以编程方式“刷新”对数据库文件的引用?这样,用户不必关闭应用程序。

我的数据库存储在 /data/data/com.mypackage.project/databases/mydatabase.db 中,备份在 sdcard 中。

我这样恢复数据库文件:

public static boolean transferBytes(File from, File to) {
FileChannel inputChannel = getInputStream(from).getChannel();
FileChannel outputChannel = getOutputStream(to).getChannel();
return transfer(inputChannel, outputChannel);
}

private static boolean transfer(FileChannel inputChannel, FileChannel outputChannel) {
try {
outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
inputChannel.close();
outputChannel.close();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}

其中 from 是备份文件,to 是具有上述数据库路径的文件实例。

最佳答案

您是否尝试在恢复数据库后创建一个新的 DBHelper 实例?

关于android - 恢复后刷新 SQLite 数据库引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com