conexão com retrofit 2 json
// $strJson = '{"Corrida": [{ "idCorrida":'.$idCorrida.'}]}';
Gson g = new GsonBuilder().registerTypeAdapter(Corrida.class, new CorridaDec()).create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(CorridaJObj.BASE_URL)
.addConverterFactory(GsonConverterFactory.create(g))
.build();
CorridaService srv = retrofit.create(CorridaService.class);
final Call<List<CorridaJObj>> objCorridas = srv.getCorrida();
objCorridas.enqueue(new Callback<List<CorridaJObj>>() {
@Override
public void onResponse(Call<List<CorridaJObj>> call, Response<List<CorridaJObj>> response) {
Log.i(TAG, "onResponse: ");
if (response.isSuccessful()){
List<CorridaJObj> cjo = response.body();
Log.i(TAG, "onResponse: " + cjo);
for(CorridaJObj co : cjo) {
Log.i(TAG,"idCorrida => " + co.getIdCorrida());
}
}
}
@Override
public void onFailure(Call<List<CorridaJObj>> call, Throwable t) {
Log.i(TAG, "onFailure: falhou" + t.getMessage());
Log.i(TAG, "onFailure: " + call);
Log.i(TAG, "onFailure: " + call.toString());
}
});
package br.com.xqx.alcatraz.choferpax.gson;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import br.com.xqx.alcatraz.choferpax.Model.Corrida;
/**
* Created by alcatraz on 19/10/2016.
*/
public class CorridaDec implements JsonDeserializer<Object> {
String TAG = "CorridaDec ==========";
@Override
public Object deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
JsonElement element = json.getAsJsonObject();
if (json.getAsJsonObject().get("CorridaJObj") != null) {
Log.i(TAG, "deserialize: ");
element = json.getAsJsonObject();
}
return new Gson().fromJson(element, Corrida.class);
}
}
package br.com.xqx.alcatraz.choferpax.gson;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
/**
* Created by alcatraz on 19/10/2016.
*/
public interface CorridaService {
@GET("add-corrida")
Call<List<CorridaJObj>> getCorrida();
}
package br.com.xqx.alcatraz.choferpax.gson;
/**
* Created by alcatraz on 20/10/2016.
*/
public class CorridaJObj {
public static final String BASE_URL = "http://choferrj.com.br/admin/webservice/";
public int idCorrida;
public CorridaJObj(int idCorrida) {
this.idCorrida = idCorrida;
}
public int getIdCorrida() {
return idCorrida;
}
public void setIdCorrida(int idCorrida) {
this.idCorrida = idCorrida;
}
}