Ich habe eine Klasse, in der ich per Retrofit auf meine APIs zugreifen werde:
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);
}
Und jetzt gibt es mir diesen Kompilierzeitfehler:
Fehler: (24, 17) Fehler: Methode addConverterFactory im Klassengenerator kann nicht auf bestimmte Typen angewendet werden; Erforderlich: Factory gefunden: GsonConverterFactory Grund: Tatsächliches Argument GsonConverterFactory kann nicht durch Methodenaufrufkonvertierung in Factory konvertiert werden
Wie kann ich das lösen? Ich habe mich an die Dokumentation gehalten. Was ist falsch?
Ilja Tretjakow
Versuchen Sie, dieselbe Version für Nachrüstung und Konverter-GSON zu verwenden – 2.0.0-beta2. Du benutzt beta2 zum Nachrüsten u beta1 für Konverter.
Du bist ein großer Mann). Aber es gibt keine Ressource, die anzeigt, dass ich dieselbe Beta2-Version verwenden muss.
– AEMLoviji
2. Oktober 2015 um 7:34 Uhr
@AEMLoviji Die Ressource heißt gesunder Menschenverstand, nicht wahr? Vor allem, weil während der Betaphase Schnittstellen Änderungen unterliegen, die in den Retrofit-Dokumenten geschrieben sind.
– Eugen Pechanec
2. Oktober 2015 um 7:47 Uhr
Ich bin gerade auf dieses Problem gestoßen. und sie löste 2 Stunden zurück. danken!)
– ip696
2. Oktober 2015 um 9:59 Uhr
Bitte erwägen Sie, die Antwort zu aktualisieren, da der Paketname ab Beta 2.0.3 nicht vorhanden ist com.squareup.retrofit mehr aber com.squareup.retrofit2 stattdessen.
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
Wenn Sie diesen Fehler erhalten, ist der Grund eine falsche Abhängigkeit enthalten.
Abhängigkeit in der Anwendung hinzufügen/ändern build.gradle Datei als