RxJavaCallAdapterFactory kann nicht umgewandelt werden-Fabrik
Ich versuche, Retrofit 2 und RxJava nach der Anleitung in diesem
https://inthecheesefactory.com/blog/retrofit-2.0/en
Im Abschnitt "RxJava Integration mit CallAdapter
"wird erläutert, wie die Verwendung RxJava mit retrofit -
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.nuuneoi.com/base/")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
Jedoch während der Kompilierung gibt es folgenden Fehler:
Error:(63, 71) error: incompatible types: RxJavaCallAdapterFactory cannot be converted to Factory
Wie kann ich es beheben?
Dank
- Hast du die Abhängigkeiten erwähnt ? compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2' kompilieren 'io.reactivex:rxandroid:1.0.1'
- ja, habe ich auch die Abhängigkeiten compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2' kompilieren 'io.reactivex:rxandroid:1.0.1'
- Komisch, aber ich hatte enthalten alle notwendigen Abhängigkeiten und Android Studio noch nicht finden konnte
RxJavaCallAdapterFactory
. Dann habe ich manuell hinzufügenimport retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
- und es funktionierte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie sicher, dass Sie die gleiche groupId und version für die Haupt-Retrofit-Abhängigkeit der Gson-Konverter Abhängigkeit, und die RxJava adapter Abhängigkeit.
Ich vermute, deins etwa so Aussehen:
(Beachten Sie, dass Sie verwenden verschiedene groupIds und Versionsnummern)
Sollten Sie alle gleich Aussehen wie dieser:
Aktuell hinzufügen "com.squareup.retrofit:adapter-rxjava:2.0.0" gibt folgenden Fehler
Aber, stattdessen, hinzufügen "compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0",macht die Verpackung erfolgreiche
compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
, und verwenden Sie dann.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
ändern Sie Ihre retrofit-rxjava adapter in
Und ändern Sie Ihre CallAdapterFactory in
es wird in etwa so Aussehen