私はSQLiteデータベースファイルをSDカードにバックアップする例をたくさん見てきましたが、開発中のアンドロイドエミュレータでうまく動作するようになっていますが、期待通りに動作しません電話自体にここに私が理解していない奇妙な部分があります。ファイルをバックアップすると、実際にはSDカードにファイルが作成されますが、アプリケーションによって使用されるSQLiteデータベースに存在するすべてのデータが、バックアップされたファイルに含まれるわけではありません。他の誰かがこの問題にぶつかりましたか?以下は、私がファイルをバックアップするために使用しているコードです。 DB_PATH定数には、/ data/data/[パッケージ名]/databases /の値が含まれています。これに関する助けがあれば大いに感謝します。SQLiteデータベースファイルをSDカードにバックアップ
try
{
File dbFile = new File(DataBaseHelper.DB_PATH
+ DataBaseHelper.DB_NAME);
File exportDir = new File(Environment.getExternalStorageDirectory()
+ DB_BACKUP_PATH);
if (!exportDir.exists()) {
exportDir.mkdirs();
}
File file = new File(exportDir, dbFile.getName());
file.createNewFile();
FileUtil.copyFile(dbFile, file);
return true;
} catch (IOException e) {
BusinessLogic.errorHandler(e, ManageDataActivity.this);
return false;
}
catch(Exception e) {
BusinessLogic.errorHandler(e, ManageDataActivity.this);
return false;
}