备份数据库并保存到特定文件夹android

时间:2015-04-16 01:54:31

标签: android database-backups

我有一个数据库,我想备份并恢复它。我使用此代码备份我的数据库:

// Method To Backup Database//
public void OnClick_Backup(View v) {

    // Vibrates For 50 Mill//
    vibe.vibrate(50);

    try {
        File sd = Environment.getExternalStorageDirectory();
        File data = Environment.getDataDirectory();

        if (sd.canWrite()) {
            String currentDBPath = "//data//jordanzimmittidevelopers.com.communityservicelogger//databases//community_service_Database";
            String backupDBPath = "Community Service Database";
            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();
                Toast.makeText(getApplicationContext(), "Backup is successful to SD card", Toast.LENGTH_SHORT).show();
            }
        }
    } catch (Exception ignored) {
    }
}

它可以很好地备份数据库,但将其保存到内部的根目录 SD卡。如何将数据库保存到内部SD卡上的aoo创建的新文件夹中。感谢

1 个答案:

答案 0 :(得分:1)

使用以下代码,

File sd = new File(Environment.getExternalStorageDirectory()+"/newFolder");
if(!sd.exists()){
sd.mkdirs()
}

代码是创建新文件夹(如果不存在)。然后复制数据库。