Android: Domínio + Retrofit 2 + Gson
Eu tenho um problema ao usarRetrofit + Gson eReino. Eu sei que há um problema com a combinação dessas 3 bibliotecas. Algumas respostas sugerem que definir umExclusionStrategy
paraGson pode resolver esse problema e eu tentei, mas não funcionou.
Meu código se parece com:
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();
}
});
Com o código atual, ainda estou recebendo o vazamento de memória. Existe alguma sugestão para esse código?
Minha estrutura json se parece com:
{"anotherObject":[{"propA": "someValue"}]}