Android: Realm + Retrofit 2 + Gson
Tengo un problema al usarRetrofit + Gson yReino. Sé que hay un problema con la combinación de estas 3 bibliotecas. Algunas respuestas sugieren que establecer unExclusionStrategy
paraGson puede resolver este problema, y lo probé pero no funcionó.
Mi código se ve así:
public class ObjectList {
public List<AnotherObject> anotherObject;
}
public class AnotherObject extends RealmObject {
private String propA;
public void setPropA(String propA){
this.setPropA = propA
}
public String getPropA(){
return propA
}
}
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();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://localhost/api/")
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
ObjectAPI objectAPI = retrofit.create(ObjectAPI.class);
call.enqueue(new Callback<ObjectList>() {
@Override
public void onResponse(Response<ObjectList> response, Retrofit retrofit) {
objectList = response.body().anotherObject;
onRefreshComplete();
}
@Override
public void onFailure(Throwable t) {
Toast.makeText(context, "Connection to server failed, please check your connection", Toast.LENGTH_LONG).show();
}
});
Con el código actual, sigo teniendo la pérdida de memoria. ¿Hay alguna sugerencia para este código?
Mi estructura json se ve así:
{"anotherObject":[{"propA": "someValue"}]}