Ich lese andere Posts über Export-Datenbank-Datei in Android, aber ich kann nicht herausfinden, wie diese Datenbank im Downloader-Ordner erstellen oder kopieren.Datenbank exportieren, um Ordner in Android herunterzuladen?
Ich verwende auf meinem Manifest (Berechtigungen):
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Aktivität:
ich diese Funktion aufrufen, wenn ich eine Taste drücken, aber es passiert nichts (keine Ausnahmen und keine Datei zu kopieren oder von currentDBPath erstellt)
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) {
}
}
Mit Toast und mit Ihrem Rat der Verwendung von Logs: Es sagt mir, dass Datei auf/storage/sdcard0/Download gespeichert wird, aber ich kann es nicht auf meinem Gerät ( siehe versteckte Dateien sind aktiviert). – Ruslan
@Ruslan: Verwenden Sie 'MediaScannerConnection' und' scanFile() ', um den' MediaStore' zu aktualisieren und sehen Sie, ob das hilft. – CommonsWare
Schließlich war das Problem in .db in String-Namensdatei auf getDatabasePath(). Danke für Ihre Zeit und Ratschläge – Ruslan