使用RealmList与Moshi时出错

时间:2018-05-07 18:22:49

标签: android realm-mobile-platform realm-list moshi

  

引起:java.lang.IllegalArgumentException:平台java.lang.Class annotated []需要注册显式JsonAdapter

使用带Moshi的RealmList时出现上述错误。

public class MenuModel implements RealmModel
{
    @Json(name = "menugroups")
    private RealmList<MenuGroupModel> menugroups = null;
}

我对此进行了一些研究,发现了以下内容:

https://github.com/realm/realm-java/issues/2711

那里的解决方案说我需要使用 RealmListAdapter 。我已将代码复制到我的项目中。但是,我不知道如何以及在何处实现此适配器。

我该如何使用它?

1 个答案:

答案 0 :(得分:0)

转到此处: Regalia Moshi

RealmListAdapter RealmListAdapterJsonFactory 复制到项目中(或使用链接的项目)。像这样添加适配器到你的moshi:

Moshi moshi = new Moshi.Builder()
.add(new RealmListJsonAdapterFactory())
.build();

进一步使用,如果您正在使用Retrofit:

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(API.ENDPOINT)
            .addConverterFactory(MoshiConverterFactory.create(moshi))
            .build();