我开始使用以下代码处理迁移的逻辑: 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);
我的问题是我在哪里可以获取此域文件的文件路径?
答案 0 :(得分:10)
Realm只使用Context调用getFilesDir()
,默认Realm调用default.realm
。所以在你的情况下你应该使用:
String realmPath = new File(context.getFilesDir(), "default.realm").getAbsolutePath();
Realm.migrateRealmAtPath(realmPath, new CustomMigration());
答案 1 :(得分:7)
您可以通过调用" getPath()"来获取您的领域文件的路径。方法:
这里有一个例子:
realm.getPath()