alcatrazbr
10/20/2016 - 6:35 AM

conexão com retrofit 2 json

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