Как использовать конвертер Gson в RetroFit?
Я делаю простое приложение RetroFit для образовательных целей и использую IntelliJ IDEA в качестве моей IDE.
Я правильно импортировал библиотеку Retrofit (по крайней мере, я думаю, что у меня есть), но я не могу получить пакет Gson Converter. У меня есть gson.jar из Google, но нигде ни в одной из этих библиотек нет класса под названием "GsonConverterFactory", который необходим для того, чтобы я разбирал JSON.
Изменить: я нахожусь в Windows.
Ответы
Ответ 1
Добавьте compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
в ваш build.gradle
файл и выясните зависимость зависимостей или добавьте соответствующие банки в ваш пуритный путь.
затем используйте GsonConverterFactory.create()
, чтобы получить Converter Factory
Я попытался использовать 2.0.0-beta1
, но это дало мне ошибку незаконного типа преобразования для factory, как указано ниже, поэтому перенесено в 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
Итак, мое предложение - использовать 2.0.0-beta2
my build.gradle имеет следующие зависимости для разрешения модификации.
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
Ответ 2
Если вы используете retrofit 2, вам нужно включить пакет convert-gson
. Для сборки gradle вы можете добавить compile 'com.squareup.retrofit:converter-gson:2.0.0-beta3'
в раздел зависимостей.
Для других систем сборки или для загрузки флага выберете страницу Maven Central convert-gson.
Ответ 3
Попробуйте это
/* 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'
Ответ 4
в вашем модуле: app build.gradle add
compile 'com.squareup.retrofit2:converter-gson:[retrofit2 version]'
версия выше аналогична версии вашего retrofit2, поэтому, например, ваша версия retrofit2 равна 2.1.0, чем ваша build.gradle должна выглядеть примерно так:
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'