Standard-Thread nachrüsten

9

Ich verwende Retrofit mit RxJava in meiner Android App und meinen Code:

%Vor%

Und ich möchte nicht .subscribeOn(Schedulers.newThread()) und schreiben .observeOn(AndroidSchedulers.mainThread()) jede Geschäftsmethode

Wie kann ich das tun?

    
xuyanjun 31.10.2015, 17:31
quelle

3 Antworten

17

Wenn Sie bei jedem Aufruf die gewünschten Threads nicht angeben möchten, können Sie einen Wrapper für RxJavaCallAdapterFactory erstellen, um standardmäßig Ihre Threads für Sie festzulegen.

%Vor%

und dann verwenden Sie es anstelle von RxJavaCallAdapterFactory.create() in Ihrem Builder -

%Vor%     
iagreen 03.11.2015, 03:57
quelle
7

Um einen Standard-Scheduler für subscribeOn zu haben, können Sie ihn als Argument direkt an die RxJavaCallAdapterFactory übergeben, wenn Sie Ihre Retrofit -Instanz erstellen:

%Vor%

Wurde in Retrofit 2.0.0 eingeführt.

    
Till 17.10.2016 15:07
quelle
6

Sie können es auf eine Zeile reduzieren, indem Sie compose() . Im Folgenden finden Sie eine modifizierte Version Ihrer getConfig() -Methode. Es setzt voraus, dass Sie RetroLambda verwenden.

%Vor%

Die Methode setupThreads() würde folgendermaßen aussehen:

%Vor%

Einige Referenzen:

kjones 31.10.2015 20:44
quelle