我正在制作一个简单的RetroFit应用程序用于教育目的,并使用IntelliJ IDEA作为我的IDE。
我已正确导入了Retrofit库(至少我认为我有),但我无法获得Gson Converter包。我安装了google的gson.jar,但是在这些库中都没有一个名为“GsonConverterFactory”的类,这是我解析JSON所必需的。
编辑:我在Windows上。
答案 0 :(得分:22)
将compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
添加到您的build.gradle
文件中并解决依赖关系,或将相应的jar添加到您的bulid路径。
然后使用GsonConverterFactory.create()
获取Converter Factory
我尝试使用2.0.0-beta1
,但它给了我一个非法的类型转换错误,如下所示,因此转移到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
我的build.gradle有以下依赖关系来解决改造。
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
答案 1 :(得分:19)
如果您使用的是改装2,则需要包含convert-gson
包。对于gradle构建,您可以将compile 'com.squareup.retrofit:converter-gson:2.0.0-beta3'
添加到依赖项部分。
对于其他构建系统或下载jar,请查看Maven Central convert-gson页面。
答案 2 :(得分:14)
试试这个
/* 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'
答案 3 :(得分:13)
: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'