どうすればいいですか? コードを使ってデータベースをsdカードにエクスポートしたいのですが、sdカードにdbファイルを作成しません。コードを使ってデータベースをsdカードにエクスポートしたいのですが、sdカードのdbファイルを作成しません。
私が試したコード。
// error in getting the " File dir = new File(getStorageBasedirectory().getAbsolutePath+ "/backup");"
public File getBackupData`enter code here`baseFile() {
File dir = new File(Environment.getExternalStorageDirectory()+ "/backup");
if (!dir.exists()) {
dir.mkdirs();
}
return new File(dir, DATABASE_NAME);
}
public final boolean backupDatabase() {
File from = context.getDatabasePath(DATABASE_NAME);
File to = this.getBackupDatabaseFile();
try {
FileUtils.copyFile(from, to);
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(context, "Error while copying file", Toast.LENGTH_SHORT).show();
}
return false;
}
public static void copyFile(File src, File dst) throws IOException {
FileInputStream in = new FileInputStream(src);
FileOutputStream out = new FileOutputStream(dst);
FileChannel fromChannel = null, toChannel = null;
try {
fromChannel = in.getChannel();
toChannel = out.getChannel();
fromChannel.transferTo(0, fromChannel.size(), toChannel);
} finally {
if (fromChannel != null)
fromChannel.close();
if (toChannel != null)
toChannel.close();
}
}
このコードを試してみてくださいあなたのコード – Raju