Ошибка при использовании RealmList с Moshi

Вызвано: java.lang.IllegalArgumentException: платформа java.lang.Class с аннотацией [] требует явной регистрации JsonAdapter

Я получаю указанную выше ошибку при использовании RealmList с Moshi.

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

Я немного исследовал это и нашел следующее:

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

В решении сказано, что мне нужно использовать RealmListAdapter. Я скопировал код в свой проект. Я, однако, понятия не имею, как и где реализовать этот переходник.

Как мне это использовать?


person Asim    schedule 07.05.2018    source источник
comment
Зарегистрируйте его на своем экземпляре Moshi. Moshi.Builder.add(RealmListAdapter.FACTORY)   -  person Eric Cochran    schedule 08.05.2018


Ответы (1)


Перейдите сюда: Regalia Moshi

Скопируйте оба RealmListAdapter и RealmListAdapterJsonFactory в свой проект (или используйте связанный проект). Добавьте адаптер в свой моши следующим образом:

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

Дальнейшее использование, если вы используете Retrofit:

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