繁体   English   中英

Realm Java预打包数据库

[英]Realm Java prepackaged database

我试图在我的应用程序中放入预加载的Realm数据库。

我在做什么:

  1. 我创建了一个简单的应用程序,可将数据从JSON加载到Realm数据库(default1.realm)。

  2. 我有一个实际的应用程序,我试图将由加载程序创建的default.realm文件放在res / raw文件夹中,并使用“迁移示例” copyBundledRealmFile()函数将default.realm复制到getFilesDir()。

  3. 完成所有这些操作后,当我尝试执行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 =

我的问题是现在为什么会发生此错误?

您说您的文件名为default.realm ,但在上面的代码段中将其称为default1 如果您尝试使用default是否可行?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM