volley recyclerview implementar android gson retrofit android-library okhttp

android - recyclerview - retrofit post



Ejemplo de actualización 2 tutorial pero GsonConverterFactory muestra error "No se puede resolver el símbolo" (7)

Estoy tratando de seguir el tutorial, Retrofit 2 tutorial, pero en esta parte del código hay un GsonConverterFactory que muestra un error: Cannot resolve symbol :

public class ServiceGenerator { public static final String API_BASE_URL = "http://your.api-base.url"; private static OkHttpClient httpClient = new OkHttpClient(); private static Retrofit.Builder builder = new Retrofit.Builder() .baseUrl(API_BASE_URL) //THIS IS THE LINE WITH ERROR!!!!!!!!!!!! .addConverterFactory(GsonConverterFactory.create()); public static <S> S createService(Class<S> serviceClass) { Retrofit retrofit = builder.client(httpClient).build(); return retrofit.create(serviceClass); } }

Anteriormente agregué en mi gradle.build, no estoy seguro de si debería agregar GSON ya que dicen que Retrofit 1.9 lo tiene, pero no se menciona nada acerca de Retrofit 2:

dependencies { // Retrofit & OkHttp compile ''com.squareup.retrofit:retrofit:2.0.0-beta2'' }


Como actualización de la biblioteca de actualización con la nueva versión

Con

compile ''com.squareup.retrofit2:retrofit:2.0.2''

Debe tener que incluir la dependencia de:

compile ''com.squareup.retrofit2:converter-gson:2.0.2''


De otro artículo en ese sitio.

Retrofit 2 no se envía con Gson de forma predeterminada. Antes, no tenía que preocuparse por ningún convertidor integrado y podía usar Gson fuera de la caja. Este cambio de biblioteca afecta a su aplicación y también necesita importar un convertidor como un paquete de hermanos. Tocaremos el convertidor más adelante en esta publicación y te mostraremos cómo configurar el Gson o cualquier otro convertidor de respuesta para tu aplicación.

Por lo tanto, agregue esto a su build.gradle

dependencies { compile ''com.squareup.retrofit:converter-gson:2.0.0-beta2'' }


La nueva versión ya está disponible

compile ''com.squareup.retrofit2:retrofit:2.1.0'' compile ''com.squareup.retrofit2:converter-gson:2.1.0''


La razón de tal comportamiento en mi caso fue el error tipográfico en la dependencia de build.gradle . Después de la versión beta4 he actualizado desde:

compile ''com.squareup.retrofit:converter-gson:2.0.0-beta2''

a

compile ''com.squareup.retrofit:converter-gson:2.0.0-beta4''

y la dependencia correcta era

compile ''com.squareup.retrofit2:converter-gson:2.0.0-beta4''


También vale la pena notar, que la actualización de beta4 no funcionará con beta2 - gson !


he utilizado

RestService restService=new Retrofit.Builder() .baseUrl(Constants.Base_URl) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .client(new OkHttpClient.Builder().readTimeout(60, TimeUnit.SECONDS).connectTimeout(60, TimeUnit.SECONDS).build()) .build().create(RestService.class); compile ''com.squareup.retrofit2:retrofit:2.1.0'' compile ''com.squareup.retrofit2:converter-gson:2.1.0'' // RxJava adapter for retrofit compile ''com.squareup.retrofit2:adapter-rxjava:2.1.0'' // RxJava libraries compile ''io.reactivex:rxjava:1.0.10'' compile ''io.reactivex:rxandroid:1.1.0''

Utilice la modificación y gson del mismo código de versión.


EDITAR

la adaptación 2 ahora es estable. Utilizar

compile ''com.squareup.retrofit2:retrofit:2.3.0'' compile ''com.squareup.retrofit2:converter-gson:2.3.0''

en la sección de dependencia de build.gradle

vieja respuesta

con Retrofit 2.0 tiene que declarar en su compilación. Gradle la fábrica de conversión que desea utilizar. Añadir

compile ''com.squareup.retrofit:converter-gson:2.0.0-beta2''

a tu gradle y sincronízalo de nuevo


compile ''com.google.code.gson:gson:2.6.2'' compile ''com.squareup.retrofit2:retrofit:2.0.2'' compile ''com.squareup.retrofit2:converter-gson:2.0.2''

utilizar esta