それは質問ではありません。この例外を取得する別の方法の説明。
だから私は改修2使用して、それが正しく設定されていた:クラス...、Retrofit2、Realm4およびGSONのコンバーターを作成できません
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
レルム4.1.1:
dependencies {
classpath "io.realm:realm-gradle-plugin:4.1.1"
}
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile "com.squareup.retrofit2:converter-scalars:2.3.0"
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
私はApiHelperで、このレトロフィットの設定を持っていますと私のプロジェクトではGSON。
しかし、私は例外を取得しています:ApiHelperから
java.lang.IllegalArgumentException: Unable to create converter for class<br>
要求が起こる直前に。
説明:
この例外は実際に改修に関するものではありません(ただし、ほとんどの答えはレトロフィットの構成に関するものです)。その領域について。バージョン4.0以降、プリミティブのRealmListのサポートが追加されました。私の応答クラスには次のようなフィールドが含まれています:
@SerializedName("bad_habits")
private RealmList<Integer> badHabitIds;
実際にこれが例外の理由です!レルムのドキュメントは、プリミティブの
リストは、リスト・オブ・リストをサポート照会しRealm.create * FromJson APIのを使用して をインポートしていないと言います。
しかし、それは私には不明瞭です。だから、もしあなたがそのような例外を得て、あなたがそれを使用しているなら、あなたはプリミティブのリストのせいですべてをセットアップしています(Retrofit/GSON/gradle.buildという意味です)。それらはサポートされていますが、その逆シリアル化はサポートされていません。
私が行ったのとまったく同じです。 RealmListについても。面白いことに、公式の医師はこのアプローチを文書化していない。 –
Stan