3 回答
TA贡献1846条经验 获得超7个赞
我不确定,但这可以在我测试过的每台设备上使用。我从这里的某个地方偷了这个方法,并使其在备份和还原方面通用:
public static void movedb(File srcdb, File destdb)
{
try
{
if (Environment.getExternalStorageDirectory().canWrite())
{
if (srcdb.exists())
{
FileChannel src = new FileInputStream(srcdb).getChannel();
FileChannel dst = new FileOutputStream(destdb).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
else
{
//ERROR: "Database file references are incorrect"
}
}
else
{
//ERROR: "Cannot write to file"
}
}
catch (Exception e)
{
//ERROR: e.getMessage()
}
}
然后我通过调用以下内容进行备份:
movedb(this, getDatabasePath(getDbName()), new File(Environment.getExternalStorageDirectory(), getDatabaseBackupPath()));
哪里getDatabasePath()和getDatabaseBackupPath()只是字符串值
- 3 回答
- 0 关注
- 320 浏览
添加回答
举报