私はこれらの最新バージョンが互換性があると考えました。このツイートがあります。 https://twitter.com/JakeWharton/status/553066921675857922とRetrofit 1.9の変更履歴にも記載されています。Okhttp 2.2とインターセプタを追加した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がClientインターフェイスを実装していないことがわかります。
私は今このアプローチを使用しています。 https://medium.com/@nullthemall/execute-retrofit-requests-directly-on-okhttp-2-2-7e919d87b64e
私は変更履歴を誤解しましたか? Maye Retrofit 1.9は、クラスパスにあるときにOkHttpClient 2.2を使用できますが、インターフェイスはまだ適合していませんか?
感謝を実装
OkHttpClient
OkClient
にインスタンスを渡す必要があります!私はそれを逃したとは思えません:p – dzan@UsmanAfzalこれは質問とは無関係です。誰かがこの問題を以前に持っているかどうかを調べるか、あなた自身の質問をしてください。 –