【问题标题】:How does Realm determine two files are the same RealmObject? (package changes)Realm如何判断两个文件是同一个RealmObject? (包装变化)
【发布时间】:2020-12-22 13:07:36
【问题描述】:

Realm 在 android 中使用什么标准来判断两个不同的文件是否相同RealmObject? 只是类名还是整个包名?

更具体地说。

  1. 假设我有com.company.MyRealmObject.kt,我将它重构为com.company2.MyRealmObject.kt
  2. 假设我在 Gradle 模块 :app 中有 com.company.MyRealmObject.kt,然后将其移动到 Say that I have com.company.MyRealmObject.ktin Gradle module:library_db`

这些操作是否会使 Realm 认为更改之前和之后的 MyRealmObject 不同 RealmObjects 因此需要迁移,或者无论包和文件如何,它们都被视为相同的 RealmObjects,因为它们具有相同的简单类名字?

谢谢。

【问题讨论】:

    标签: android package realm realm-mobile-platform realm-migration


    【解决方案1】:

    根据我的实验,只要类名相同,Realm 就会认为它是相同的RealmObject。 项目中文件的包名无关紧要,都是类名。

    这似乎符合这条评论:https://github.com/realm/realm-java/issues/6403#issuecomment-454427296

    我们的代理类将包路径编码为最终类的一部分 名称,但移动类应该没问题,因为简单的名称是 相同,因此它应该在领域中转换为相同的简单名称 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2013-03-24
      • 1970-01-01
      相关资源
      最近更新 更多