web-dev-qa-db-ja.com

RetroFitでGsonコンバーターを使用するにはどうすればよいですか?

教育目的で簡単なRetroFitアプリケーションを作成し、IntelliJ IDEAをIDEとして使用しています。

Retrofitライブラリを適切にインポートしました(少なくとも私は持っていると思います)が、Gson Converterパッケージを取得できません。 Googleのgson.jarがインストールされていますが、これらのライブラリのいずれにも「GsonConverterFactory」というクラスがありません。これはJSONを解析するために必要です。

編集:Windowsを使用しています。

23
vic.vele

_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'
_
22
manoj

レトロフィット2を使用している場合は、convert-gsonパッケージを含める必要があります。 gradleビルドの場合、compile 'com.squareup.retrofit:converter-gson:2.0.0-beta3'を依存関係セクションに追加できます。

他のビルドシステムの場合、またはjarをダウンロードするには、Maven Central convert-gson ページをチェックアウトします。

19
iagreen

これを試して

/* 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'
14
Joolah

module: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'
13
faruk