如何将 sqlite 数据库保存在 SD 卡上



我是安卓编程的新手,正在寻求您的帮助。我正在努力创建一个将数据保存到Sqlite数据库中的android应用程序。我做到了这一点,并且可以在将其拉出后查看模拟器中的数据。现在我正在寻找一种方法来语法上将此内部 sqlite 复制到 SD 卡程序。

我搜索了解决方案,发现这个:

try {
        File sd = Environment.getExternalStorageDirectory();
        File data = Environment.getDataDirectory();
        if (sd.canWrite()) {
            String currentDBPath = "//data//{package name}//databases//{database name}";
            String backupDBPath = "{database name}";
            File currentDB = new File(data, currentDBPath);
            File backupDB = new File(sd, backupDBPath);
            if (currentDB.exists()) {
                FileChannel src = new FileInputStream(currentDB).getChannel();
                FileChannel dst = new FileOutputStream(backupDB).getChannel();
                dst.transferFrom(src, 0, src.size());
                src.close();
                dst.close();
            }
        }
    } catch (Exception e) {
    }

但是,我不知道如何将这段代码集成到我的整个代码中。我应该在每次插入数据时都写它吗?我将不胜感激我可能得到的任何帮助。如有任何进一步的解释或其他建议,将不胜感激。

首先,如果你在每次点击后都这样做,你可以中断。我认为您应该使用AlarmManager定期存储。

最新更新