改进2与Realm响应提交

时间:2016-03-20 04:02:28

标签: android json retrofit realm

请帮帮我:< 如果我没有使用领域扩展我的模型那么它很好,但是使用领域我的所有项目都是不可见的:<

有代码

我的模特:

@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

1 个答案:

答案 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