Realm.deleteRealmFile()不推荐使用android?

时间:2015-07-01 13:51:00

标签: android file migration realm

现在不推荐使用 Realm.deleteRealmFile(),删除领域文件并在Android应用程序中实例化新文件的最佳方法是什么?

我尝试过设置一个新的配置,但我遇到了一大堆Realm Migration 错误?这是为什么?

2 个答案:

答案 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();
    }