¿Cómo utilizo el convertidor Gson en RetroFit?
Estoy haciendo una simple aplicación de RetroFit con fines educativos, y uso IntelliJ IDEA como mi IDE.
He importado la biblioteca de Retrofit correctamente (al menos creo que tengo), pero no soy capaz de obtener el paquete Gson Converter. Tengo el gson.jar de google instalado, pero en ninguna de estas bibliotecas hay una clase llamada "GsonConverterFactory", que es necesario para analizar JSON.
- Consulta GET con json - Retrofit 2.0
- Por qué Android Circle Progress Dialog Cómo se congela cuando un montón de datos Sincronización de servidor a DB local mediante Retrofit
- Android Retrofit Se esperaba BEGIN_OBJECT pero era STRING en la línea 1 de la columna 1 path $
- ¿Cómo manejar los campos JSON opcionales en Retrofit para Android?
- .debounce () de RxJava interfiriendo con los hilos de mis observables y manejo de errores
Edit: Estoy en Windows.
- Manejo de errores personalizados con Retrofit cuando se ofusca usando proguard da java.lang.reflect.UndeclaredThrowableException
- Excepción fatal lanzada en el subprograma Scheduler.Worker con Retrofit 2 y Rx
- Runtime Execption java.lang.NoClassDefFoundError: retrofit2.Platform en Android
- Descargar vídeo de Url con Retrofit
- Retrofit 2.0 cómo imprimir la respuesta json completa?
- Obtenga un objeto json simple usando retrofit 2
- Retrofit no puede acceder a HttpUrl
- Cómo realizar una prueba de unidad
Agregue el compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
a su archivo build.gradle
y obtenga la dependencia resuelta o agregue los tarros correspondientes a su ruta bulid.
Luego utilice GsonConverterFactory.create()
para obtener la Converter Factory
Intenté usar 2.0.0-beta1
pero me dio un error ilegal de la conversión del tipo para la fábrica según lo dado abajo, así que movido a 2.0.0-beta2
error: method addConverterFactory in class Builder cannot be applied to given types; required: Factory found: GsonConverterFactory reason: actual argument GsonConverterFactory cannot be converted to Factory by method invocation conversion
Así que mi sugerencia es usar 2.0.0-beta2
My build.gradle tiene las siguientes dependencias para resolver la actualización.
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
Si está utilizando retrofit 2, debe incluir el paquete convert-gson
. Para las compilaciones de gradle, puede agregar la compile 'com.squareup.retrofit:converter-gson:2.0.0-beta3'
a su sección de dependencias.
Para otros sistemas de compilación, o para descargar el tarro, verifique la página de conversión de Maven Central -gson .
Prueba esto
/* JSON */ compile 'com.google.code.gson:gson:2.5' compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4' // >Retrofit & OkHttp compile ('com.squareup.retrofit2:retrofit:2.0.0-beta3') { // exclude Retrofit's OkHttp peer-dependency module and define your own module import exclude module: 'okhttp' } compile 'com.squareup.okhttp3:okhttp:3.0.1'
En tu módulo: app build.gradle add
compile 'com.squareup.retrofit2:converter-gson:[retrofit2 version]'
La versión anterior es la misma con su versión retrofit2, por lo que por ejemplo su versión retrofit2 es 2.1.0, que su build.gradle debería ser así:
compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0'