gpt4 book ai didi

java - Realm Java 预打包数据库

转载 作者:太空宇宙 更新时间:2023-11-04 14:01:19 25 4
gpt4 key购买 nike

我正在尝试将预加载的 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,但您在上面的代码 fragment 中将其称为 default1。如果您尝试使用default,它会起作用吗?

关于java - Realm Java 预打包数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29285404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com