簡體   English   中英

模型不能轉換為 ModelRealmProxyInterface

[英]Model cannot be cast to ModelRealmProxyInterface

我正在嘗試使用從源代碼構建的Realm-java 庫,我使用了以下 JAR 和 AAR

  • Realm Gradle 插件的 jar 文件
  • Realm 庫的 aar 文件
  • 注釋的 jar 文件
  • 注釋處理器的 jar 文件

我在依賴項中添加了如下所示的 Realm-annotations-processor

kapt project(':realm-annotations-processor-5.8.0')

當我們做

val realm = Realm.getDefaultInstance()
try {
  realm.executeTransaction { realmInstance ->
    realmInstance.copyToRealm(user)// ClassCastException thrown
  }
} finally {
  realm.refreshAndClose()
}

我們遇到的確切異常是:

UserModel cannot be cast to io.realm.com_example_mobile_test_auth_model_UserModelRealmProxyInterface

最終自己解決了這個問題,我錯過了注冊負責生成RealmProxy的Realm-Transformer的機會。

我們需要將以下代碼添加到所需模塊/應用程序的build.gradle

buildscript {

   repositories {
       jcenter()
       mavenCentral()
   }

   dependencies {
       classpath "io.realm:realm-transformer:5.8.0"
   }
}
import io.realm.transformer.RealmTransformer
android.registerTransform(new RealmTransformer(rootProject))

我遇到了這個問題,我嘗試了很多解決方案,但只有這個

realm.deleteAll();

可以幫助我

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM