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 關注
- 344 瀏覽
添加回答
舉報
