所以我见过很多备份SQLite数据库文件到SD卡的例子,我已经得到这个在开发中的android模拟器上成功工作,但它不能按预期工作在电话本身。这是我不明白的奇怪部分。备份文件实际上是在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;
}