Я думал, что эти последние версии должны быть совместимы. Есть этот твит; https://twitter.com/JakeWharton/status/553066921675857922 и журнал изменений Retrofit 1.9 также упоминает об этом.
Однако, когда я пытаюсь это сделать:
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();
Это все еще не работает. Метод setClient жалуется на несовместимый объект Client;
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)
Что мне не хватает? Я также вижу, что OkHttpClient не реализует клиентский интерфейс.
Я использую этот подход на данный момент; https://medium.com/@nullthemall/execute-retrofit-requests-directly-on-okhttp-2-2-7e919d87b64e
Я неправильно истолковал список изменений? Maye Retrofit 1.9 может использовать OkHttpClient 2.2, когда он находится в пути к классам, но интерфейс еще не адаптирован?