У меня проблемы с получением файла .db с карты БД.
Я использовал этот код для резервного копирования базы данных:
private void DBBackup() {
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = getContext().getDatabasePath(DBHelper.DB_NAME).getPath();
String backupDBPath = "DBBackupTest";
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(getContext(), "Export Successful!", Toast.LENGTH_SHORT).show();
}
}
} catch (Throwable e) {
e.printStackTrace();
}
}
через несколько минут я хочу импортировать резервную копию базы данных. Это код для импорта
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "/storage/emulated/legacy/DBBackup";
String backupDBPath = "DBBackupTest"; // From SD directory.
File backupDB = new File(currentDBPath);
File currentDB = new File(sd, backupDBPath);
FileChannel src = new FileInputStream(backupDB).getChannel();
FileChannel dst = new FileOutputStream(currentDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
Toast.makeText(getContext(), "Import Successful!", Toast.LENGTH_SHORT).show();
}
} catch (Throwable e) {
Toast.makeText(getContext(), "Import Failed!", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
Шоу Toast
"Импорт успешно завершен!" но когда я проверяю базу данных, используя stetho
. база данных не прикреплена. Мне нужна твоя помощь в этом. спасибо!