我正在一个Android应用程序上工作,在将新数据复制到Realm之前,我将删除Realm。在使用realm.copyToRealm()时如果出了点问题,我有什么办法可以在删除数据之前备份数据并还原回去?

最佳答案

Realm.writeCopyTo在这种情况下可能会有所帮助。您可以在这里找到doc

//Backup
Realm orgRealm = Realm.getInstance(orgConfig);
orgRealm.writeCopyTo(pathToBackup);
orgRealm.close();
//Restore
Realm.deleteRealm(orgConfig);
Realm backupRealm = Realm.getInstance(backupConfig);
backupRealm.writeCopyTo(pathToRestore);
backupRealm.close();
orgRealm = Realm.getInstance(orgConfig);

但是,对于您而言,将Realm文件移动到要备份的位置,然后在要还原时将其移回会更简单,更快。要获取Realm文件路径,请尝试:
realm.getPath();

10-07 23:14