Ho pensato che queste versioni recenti dovevano essere compatibili. C'è questo tweet; https://twitter.com/JakeWharton/status/553066921675857922 e il changelog di Retrofit 1.9 lo menziona anche.Retrofit 1.9 con OkHttp 2.2 e intercettori
Tuttavia quando provo questo:
OkHttpClient httpClient = new OkHttpClient();
httpClient.interceptors().add(new TokenExpiredInterceptor());
mRestAdapter = new RestAdapter.Builder()
.setEndpoint(API_ENDPOINT)
.setClient(httpClient)
.setLogLevel(BuildConfig.DEBUG ?
RestAdapter.LogLevel.FULL :
RestAdapter.LogLevel.NONE)
.setRequestInterceptor(new AuthorizationInterceptor())
.build();
E ancora non funziona. Il metodo setClient si lamenta di un oggetto Client incompatibile;
Error:(29, 21) error: no suitable method found for setClient(OkHttpClient)
method Builder.setClient(Client) is not applicable
(argument mismatch; OkHttpClient cannot be converted to Client)
method Builder.setClient(Provider) is not applicable
(argument mismatch; OkHttpClient cannot be converted to Provider)
Cosa mi manca? Vedo anche che OkHttpClient non implementa l'interfaccia Client.
Sto usando questo approccio per ora; https://medium.com/@nullthemall/execute-retrofit-requests-directly-on-okhttp-2-2-7e919d87b64e
Ho erroneamente interpretato il log delle modifiche? Maye Retrofit 1.9 può utilizzare OkHttpClient 2.2 quando si trova nel classpath ma l'interfaccia non è ancora stata adattata?
Grazie! Non posso credere di averlo perso: p – dzan
@UsmanAfzal Questo non è correlato alla domanda, dovresti cercare se qualcuno ha questo problema prima o fare la tua stessa domanda. –