我在哪里可以找到默认的领域数据库文件

Where can I find the default Realm Database file

我开始研究我的迁移逻辑,使用以下代码: https://github.com/realm/realm-java/blob/master/examples/migrationExample/src/main/java/io/realm/examples/realmmigrationexample/MigrationExampleActivity.java

写完代码后,我在这一行报错:

String path3 = MigrationClass.copyBundledRealmFile(this, this.getResources().openRawResource(R.raw.default1), "default1");

它找不到 R.raw.default1 文件,因为直到现在,我使用的默认 Realm 是这样的:

Realm realm = Realm.getInstance(context);

我的问题是我在哪里可以获得这个领域文件的文件路径?

Realm 只是使用 Context 来调用 getFilesDir() 而默认的 Realm 被调用 default.realm。所以在你的情况下你应该使用:

String realmPath = new File(context.getFilesDir(), "default.realm").getAbsolutePath();
Realm.migrateRealmAtPath(realmPath, new CustomMigration());

您可以通过调用"getPath()"方法获取您的领域文件的路径:

这里有一个例子:

realm.getPath()