Я читал другие сообщения об экспортном файле базы данных на Android, но я не могу понять, как создать или скопировать эту базу данных в папку Downloader.Экспорт базы данных в папку «Загрузить» на Android?
я использую на моем манифесте (разрешения):
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
активность:
Я называю эту функцию, когда я нажать кнопку, но ничего не происходит (без исключений и не копию файла или созданные из currentDBPath)
public void exportDatabase() {
try {
File download_folder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File data = Environment.getDataDirectory();
if (download_folder.canWrite()) {
String currentDBPath = "//data//"+getPackageName()+"//databases//"+"YourWords";
String backupDBPath = "YourWords";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(download_folder, 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) {
}
}
С помощью Toast и используя ваш совет по использованию журналов: Он говорит мне, что файл сохранен на/storage/sdcard0/Загрузка, но я не вижу его на своем устройстве ( см. Скрытые файлы). – Ruslan
@ Ruslan: используйте «MediaScannerConnection» и 'scanFile()' для обновления «MediaStore» и посмотрите, поможет ли это. – CommonsWare
Наконец, проблема заключалась в добавлении .db в файл имен String на getDatabasePath(). Спасибо за ваше время и совет. – Ruslan