我正在尝试将预加载的Realm数据库放入我的应用程序中。
我在做什么:
我创建了一个简单的应用程序,可以将数据从JSON加载到Realm数据库(default1.realm)。
我有我的实际应用,我试图将加载器创建的default.realm文件放在res / raw文件夹中,并使用迁移示例copyBundledRealmFile()函数将default.realm复制到getFilesDir( )。
完成所有这些操作后,当我尝试执行Realm.getInstance()时,会返回一个空的Realm。
我做错了什么?
String path3 = copyBundledRealmFile(this.getResources().openRawResource(R.raw.default1), "default.realm");
Realm r1 = Realm.getInstance(this);
r1应该指向我复制的文件,对吗?
更新:我找到了无法访问数据库的原因:
03-27 10:27:50.965 17750-17750/? A/art﹕ art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION:
input is not valid Modified UTF-8: illegal continuation byte 0x2e
03-27 10:27:50.965 17750-17750/? A/art﹕ art/runtime/check_jni.cc:65] string: 'Unspecified exception.
Failure when converting long string to UTF-16 error_code = 2; retcode = 0; StringData.size = 40487; StringData.data = etc..
03-27 10:27:50.965 17750-17750/? A/art﹕ art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION:
input is not valid Modified UTF-8: illegal continuation byte 0x2e
03-27 10:27:50.965 17750-17750/? A/art﹕ art/runtime/check_jni.cc:65] string: 'Unspecified exception.
Failure when converting long string to UTF-16 error_code = 2; retcode = 0; StringData.size = 40487; StringData.data =
我的问题是现在为什么会发生这种错误?
答案 0 :(得分:0)
您说您的文件名为default.realm
,但您在上面的代码段中将其称为default1
。如果您尝试使用default
吗?