2016-03-20 40 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