我已将这些依赖项包含到我的项目中:
编译'com.squareup.retrofit:retrofit:2.0.0-beta2'
编译 'com.squareup.retrofit:converter-gson:2.0.0-beta1'
我有一个类,我将通过改造访问我的 api:
public static <S> S createService(Class<S> serviceClass, String baseUrl) {
Retrofit builder = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build();
RestAdapter adapter = builder.build();*/
return builder.create(serviceClass);
}
现在,它给了我这个编译时错误:
错误:(24, 17) 错误:类 Builder 中的方法 addConverterFactory 不能应用于给定类型;需要: 工厂发现: GsonConverterFactory原因:实参GsonConverterFactory 无法通过方法调用转换转为Factory
我该如何解决这个问题?我按照文档进行操作。怎么了?
尝试使用相同版本进行改造和转换器-gson -
2.0.0-beta2
。您使用 beta2
进行改装,使用 beta1
进行转换器。
implementation 'com.squareup.retrofit:retrofit:2.0.0-beta2'
implementation 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
重要提示!
Retrofit 自
2.0.0-beta3
版本起更改了其包名称。现在你应该使用com.squareup.retrofit2
。这是例子:
implementation 'com.squareup.retrofit2:retrofit:2.2.0'
implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
在
build.gradle
(应用程序)中,而不是:
implementation 'com.google.code.gson:gson:2.8.2'
写:
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
在最新的 Beta 2.0.3 版本中,您需要添加:
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
确保改造库版本与gson转换器版本匹配。
这是最新的:
compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0'
如果您使用测试版:
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
compile 'com.squareup.retrofit:adapter-rxjava: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
如果您收到此错误,原因是包含错误的依赖项。
添加/更改应用程序中的依赖关系
build.gradle
文件为
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
确保转换器版本是
2.0.0-beta2
而不是 2.0.0-beta1
。
retrofit2 和retrofit2:converter 的最新版本
实现(“com.squareup.retrofit2:转换器-gson:2.11.0”) 实现(“com.squareup.retrofit2:retrofit:2.11.0”)
转换器工厂用于将 JSON 数据(来自服务器/API)转换为 java(模型)对象(POJO),以在 Android 项目中使用。