请帮帮我:< 如果我没有使用领域扩展我的模型那么它很好,但是使用领域我的所有项目都是不可见的:<
有代码
我的模特:
@RealmModule(library = true, allClasses = true)
public class Books extends RealmObject {
@Expose
@SerializedName("photo")
private String photo;
@Expose
@SerializedName("rate")
private Integer rate;
@Expose
@SerializedName("rating")
private Double rating;
我的片段
restRequest.getAllBooks().enqueue(new Callback<List<Books>>() {
@Override
public void onResponse(Response<List<Books>> response, Retrofit retrofit) {
//завершить наш прогресс диалог
if (response.isSuccess()) {
//Создаем коллекцию
List<Books> booksList = response.body();
realm = Realm.getDefaultInstance();
realm.beginTransaction();
List<Books> booking = realm.copyToRealm(booksList);
realm.commitTransaction();
booksAdapter.Pagination(booking);
}
}
@Override
public void onFailure(Throwable t) {
Toast.makeText(getContext(), "Error: " + t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
和改造
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(new OkHttpClient())
.addConverterFactory(GsonConverterFactory.create())
//собрать
.build();
INSTANCE.boksAPI = retrofit.create(BoksAPI.class);
}
请帮助,我不知道我的伴侣会发生什么,但是领域是有效的,因为我看到记忆如何成长:O
答案 0 :(得分:1)
我没有看到您正确配置Gson。在你的代码中应该有类似的初始化:
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return f.getDeclaringClass().equals(RealmObject.class);
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
return false;
}
})
.create();
查看文档以获取更多详细信息:https://realm.io/docs/java/latest/#gson