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

时间:2017-11-20 13:04:06

标签: android android-sqlite

我是Android编程的新手并寻求你的帮助。我正在创建一个将数据保存到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) {
    }

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

1 个答案:

答案 0 :(得分:0)

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