2016-03-20 33 views
2

请帮我:< 如果我真的不延长我的模型的境界是好,但与境界我的所有项目都是无形的:<改造2域响应提起

有代码

我型号:

@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); 
    } 

请帮帮忙,我不知道它与我的clases发生,但境界是工作,因为我看到内存是如何长大:O型

回答

1

我没有看到你配置GSON正确。 Somethere在你的代码应该是类似的初始化:

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