重複の可能性:
データベースをSDカードに移動できない
sqlite ファイルを SD カードに保存しようとしています。この質問のコードを使用しています
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "\\data\\com.test.mytest\\databases\\test_db";
String backupDBPath = "test_db";
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();
}
}
} catch (Exception e) {
}
これは非常に評価の高い回答なので、かなり簡単に機能するはずです。logcat にエラーはありません。作成されたディレクトリ/作成されたファイルが表示されません。マニフェストに「外部への書き込み」権限もあります。