现在不推荐使用 Realm.deleteRealmFile(),删除领域文件并在Android应用程序中实例化新文件的最佳方法是什么?
我尝试过设置一个新的配置,但我遇到了一大堆Realm Migration 错误?这是为什么?
答案 0 :(得分:1)
根据API文档,您现在应该使用DeleteRealm(RealmConfiguration)
,其中RealmConfiguration
指定要删除的Realm文件。您可以在此处找到API文档:https://realm.io/docs/java/latest/api/
答案 1 :(得分:0)
如果您陷入MigrationNeededException循环,请尝试此操作,它将删除整个文件夹并重建Realm。
private void rebuildDatabase() {
RealmConfiguration realmConfig = new RealmConfiguration.Builder(getApplicationContext())
.name(getString(R.string.realm_file_name))
.deleteRealmIfMigrationNeeded()
.build();
Realm.deleteRealm(realmConfig);
File dir = realmConfig.getRealmFolder();
if (dir.isDirectory())
{
String[] children = dir.list();
for (int i = 0; i < children.length; i++)
{
new File(dir, children[i]).delete();
}
}
Realm.setDefaultConfiguration(realmConfig);
Realm newRealm = Realm.getInstance(this);
newRealm.close();
}