Я разрабатываю приложение, в котором мне нужно сделать резервную копию и восстановить базу данных. Я написал код для резервного копирования, и он работает, но я хочу восстановить резервную копию базы данных в моем приложении и удалить ту, которая там уже есть. Пожалуйста, предоставьте решение для некорневых android устройств. Спасибо! Мой резервный код:
private void exportDB(){
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
FileChannel source=null;
FileChannel destination=null;
String currentDBPath = "/data/"+getPackageName()+"/databases/"+DatabaseHelper.DATABASE_NAME;
String backupDBPath = "abcrecord.db";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
try {
source = new FileInputStream(currentDB).getChannel();
destination = new FileOutputStream(backupDB).getChannel();
destination.transferFrom(source, 0, source.size());
source.close();
destination.close();
Toast.makeText(this, "DB Exported!", Toast.LENGTH_LONG).show();
} catch(IOException e) {
e.printStackTrace();
}
}