私はRetrofitの2 tutorial、 をフォローしようとしていますが、コードのこの部分にはGsonConverterFactory
があり、エラー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);
}
}
以前にgradle.buildに追加しましたが、GSONを追加する必要があるかどうかはわかりません。Retrofit1.9にはそれが含まれているが、Retrofit 2については何も言及されていないからです。
dependencies {
// Retrofit & OkHttp
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
}
[〜#〜] edit [〜#〜]
レトロフィット2は安定しています。つかいます
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
あなたのbuild.gradle
依存関係セクション
古い回答
retrofit 2.0では、build.gradleで使用する変換ファクトリを宣言する必要があります。追加する
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
あなたのgradleにもう一度同期してください
別の記事 そのサイトから
Retrofit 2はデフォルトではGsonに同梱されていません。以前は、統合されたコンバーターについて心配する必要はなく、Gsonをボックス。このライブラリの変更はアプリに影響するため、コンバーターを兄弟パッケージとしてインポートする必要もあります。この投稿の後半でコンバーターに触れて、Gsonまたはアプリ用の他の応答コンバーターを構成する方法を紹介します。
したがって、これをbuild.gradle
に追加します
dependencies {
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
}
新しいバージョンでレトロフィットライブラリを更新
と
compile 'com.squareup.retrofit2:retrofit:2.0.2'
次の依存関係を含める必要があります。
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
新しいバージョンが利用可能になりました
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
私の場合、このような動作の理由は、build.gradle
依存関係のタイプミスでした。 beta4
のリリース後、更新元は次のとおりです。
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
に
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta4'
正しい依存関係は
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
また、beta4-改造はbeta2-gsonでは機能しません。
利用した
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'
同じバージョンコードのレトロフィットとgsonを使用する
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'
これを使って