我在xamarin中实现了备份数据库,它将数据库复制到sdcard。下面的代码显示了备份文件的路径:
"/sdcard/MyTaskDatabase"
我要实施还原备份。为此,我要将备份文件复制到以下路径(本地数据库路径):
database = new TodoItemDatabase(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "TodoSQLite.db3"));
我知道我必须使用此功能:
System.IO.File.Copy(sourcePath, destinationPath, true);
但是我无法获取sourcePath和destinationPath。 请帮忙。
我具有恢复数据库的功能,但是它不起作用并且没有错误。
public void CopyAndRestore(string sourcePath)
{
var dbFileName = "TodoSQLite.db3";
TodoItemDatabase yourSQliteRepository = new TodoItemDatabase(GetLocalFilePath(dbFileName));
string destinationPath = GetLocalFilePath(dbFileName);
yourSQliteRepository.DeleteAllDatabase();
yourSQliteRepository.CloseDb();
System.IO.File.Copy(sourcePath, destinationPath, true);
}