問題タブ [okhttp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - RetrofitとOKHttpを使用して、次のリクエストでキャッシュルートの更新を無効/強制する方法は?
JSON API からの応答をキャッシュするために、OKHttp クライアントで Retrofit を使用しています。
これはうまく機能します。
ただし、デバイスでアクションを実行してサーバー上でデータを更新する場合、次回このデータに対してリクエストが行われたときに特定のルートを「無効化」する方法が必要です。キャッシュされた古いバージョンではなく、再びサーバーにアクセスします。
現在、リクエストの Cache-Control ヘッダーに「no-cache」フラグを付けて新しいルートを明示的に呼び出すことで、これを回避していますが、これにより、必要になる前に新しいデータをダウンロードする必要があり、場合によっては複数回ダウンロードする必要があります。キャッシュを最新の状態に保つためだけに、複数のアクションが実行されます。
レトロフィット/OKhttp クライアントのルート/メソッドをキャッシュの期限切れとしてマークし、次に要求されたときにネットワーク経由で必須の更新を要求する方法はありますか?
android - OkHttp + ピカソ + レトロフィット
問題は、これら3 つのライブラリをすべて 1 つのプロジェクトに結合する方法です。
- 1 つの OkHttpClient を Picasso と Retrofit の両方の背景レイヤーにします。
- Volley lib のように優先順位を変更する方法。(ページネーション用)?
android - okhttp 2.0 と最新のレトロフィットを使用している場合、NoSuchMethodError は発生しますか?
メソッド retrofit.client.OkClient.openConnection から参照されているメソッド com.squareup.okhttp.OkHttpClient.open が見つかりませんでした。
以下は私のgradle構成です
java - 非同期操作のための OkHttp と Retrofit での ThreadPoolExecutor の使用の違い
OkHttp 2.0.0-RC1 は、 DispatcherThreadPoolExecutor
で定義されたものを使用します。#getExecutorService
これは本質的に の実装ですExecutors#newFixedThreadPool
。
一方、レトロフィットはPlatformExecutors.newCachedThreadPool
で定義されたものを使用します。これは次のように要約されます。#defaultHttpExecutor
Executors#newFixedThreadPool
OkHttpとRetrofit を使用する理由を知っている人はいますExecutors#newCachedThreadPool
か?
java - ライブラリによる Android の依存関係
そのため、使用したいライブラリは OkHttp 1.2.1 に依存しており、現在は最新バージョンの OkHttp 2.0 を使用しています。
同じクラスに対して複数の dex ファイルが生成されるため、当然、コンパイル エラーが発生します。
ライブラリを手動で更新したくはありません。また、最新バージョンの OkHttp が必要です。
クラスのいずれかで OkHttp の最新バージョンを何らかの方法で優先し、ライブラリで古いバージョンを引き続き使用する方法はありますか?
android - RoboSpice で非同期 OkHttp ベースの REST 呼び出しを行うにはどうすればよいですか?
そこで、github でrobospice の okhttpclient-sampleを調べたところ、それらが同期 HTTP 呼び出しを示していることに驚きました。RoboSpice の readme の 2 番目の箇条書きは、「(バックグラウンドの AndroidService で) ネットワーク要求を非同期的に実行する」ことを強調しています。では、なぜ同期の例なのでしょうか? コールバックはどこにありますか?
また、RoboSpice サンプルにリンクされている OkHttp ライブラリが v1.3 であることにも気付きました。robospice-okhttp Mavenライブラリはそれほど優れていません - ライブラリの v1.5.4 にリンクしています。OkHttpSpiceRequest.open()
どちらも、v1.6 で廃止され、v2.0 (RC) で削除された同期関数呼び出しを使用します。非同期性は v1.6 で初めて導入されましたか?
RoboSpice で OkHttp の真の非同期使用を実装し、それに伴うサンプル コードを入手した人はいますか? そうでない場合、どのような選択肢がありますか?
android - キャッシュされる前に、どうにかして OkHttp 応答からヘッダーを削除できますか?
サーバーを制御できず、Cache-Control: no-cache
ヘッダーで常に応答します。しかし、私は OkHttp にその応答を強制的にキャッシュさせたいと思っています。
キャッシュされる前に、どうにかして OkHttp 応答からヘッダーを削除できますか?