【问题标题】:Is ObjectBox DB compatible across languages and platforms?ObjectBox DB 是否跨语言和平台兼容?
【发布时间】:2021-06-08 22:03:40
【问题描述】:

我在 Android 上用 Java 构建并运行了一个数据库。现在我想将我的应用程序迁移到 Dart/Flutter。所以有几个问题:

  1. 我在 Dart 中创建的模型会与我在 Java 中创建的模型兼容吗?

  2. 假设问题 1 是,Dart 应用程序是否能够使用用 Java 创建的 DB 文件的相同副本?

  3. Dart 应用能否跨系统(Android、iOS 和 Linux)使用相同的数据库文件副本?

【问题讨论】:

    标签: objectbox


    【解决方案1】:
    1. 是的,通常这应该是可能的。 Dart 类型(例如 Java 有许多整数类型)甚至 ObjectBox 的 Dart 实现可能会导致细微的差异。后者应该报告给 ObjectBox 问题,因为 Sync 会遇到同样的问题。
    2. 是(假设没有遇到 1 中的问题)
    3. 是的,这可能有效,但不提供任何保证。这不在内部测试用例范围内。

    【讨论】:

    • 嗨@Markus Junginger,我将所有Java 模型迁移到Dart 并确保类型匹配(例如对于Java int 类型,我添加了注解@Property(type: PropertyType.int))。当访问由它创建的数据库文件时,这个简单的应用程序在 Linux 上运行。但是,当我将我的“data.mdb”从 Android 上的 Java 应用程序复制到 Linux 时,该应用程序会崩溃,并显示某些方法不可用的模糊颤动错误消息。我什至从 Java 复制了 json 模型文件。崩溃与 Store(getObjectBoxModel()) 有关。有什么建议吗?
    • 单步调试,崩溃实际发生在_cStore = C.store_open(opt);在 Store.dart 中。
    • 如果您可以在那里找到您的问题,请参阅 github.com/objectbox/objectbox-dart/issues。如果没有,请创建一个包含崩溃详细信息的新文件。
    猜你喜欢
    • 2015-11-21
    • 2012-04-21
    • 2011-07-28
    • 1970-01-01
    • 2010-11-28
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多