恢复后刷新SQLite数据库引用

时间:2015-08-13 09:38:31

标签: android database sqlite

我的备份模块可以从备份中恢复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是具有上述数据库路径的文件实例。

1 个答案:

答案 0 :(得分:1)

在恢复db?

之后,您是否尝试创建DBHelper的新实例?