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