問題タブ [android-volley]
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 - Volley でユーザー エージェントを設定するにはどうすればよいですか?
ちょっと変わった質問が 1 つあります。Volley でユーザー エージェントを設定するにはどうすればよいですか?
モバイル版ではなく、一部のサイトの完全版(デスクトップ版)が必要です。
変数 userAgent を「volley/0」から「Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/27.0.1453.93 Safari/537.36」(私の Chrome) のようなものに変更しようとしました。変わりはない。
何かアドバイス?
android - Android Volley ImageLoader - 基本的な HTTP 認証の使用方法は?
NetworkImageView
Volley'sを使用して、基本 HTTP 認証が必要な REST API から画像をロードしたいと考えています。したがって、HTTP リクエストにヘッダーを追加する必要があります。
私は次のアプローチを作成しました:
オーバーライドRequest.getHeaders()
-この質問で説明されているとおり。これは問題ありませんが、問題はImageLoader
ハードnew ImageRequest()
コーディングされているため、Request
実装を渡すImageLoader
ことができず、簡単に継承および調整できないことです (再実装する必要があるメソッドはプライベート プロパティを使用します)。
解決策は、Volley ライブラリ自体を変更することです (これは避けたいことです)。
ここで説明されているように、カスタム HttpClientStack を使用します。このアプローチを使用すると、HTTP 通信を傍受し、必要なヘッダーを追加できます。しかし、これは正しい方法ではないと思います-ボレーによるHttpClientの自動選択を失います(ジンジャーブレッド対HCおよびIC)。
私が見逃しているこれを達成するためのより簡単な方法はありますか?
android - Android Volley + Loader パターン?
Volleyフレームワークはちょっと好きでしたが、まだ疑問があります。
たとえば、Volley は Loader パターンとどのように並んでいますか? リクエストは非同期で処理されるため、バックグラウンドで呼び出してもあまり意味がありません。一方、Loader パターンを無視すると、ロードをキャンセルして必要なリソースをリロードしますが、ちょっともったいないです。
Volley フレームワークは Android のローダーとどのように連携しますか?
android - 古いデバイスでは Volley ImageLoader が非常に遅い
古いデバイスで Volley をテストできた人はいますか?
シングルコア800mhz CPUを搭載したZTE Bladeを持っています。
Volley は、画像が既にディスク上にある場合でも、画像をロードする前に 4 ~ 5 秒、またはそれ以上待機するだけであることがわかりました。
同じコードは、Galaxy S2 と Xoom で非常に高速です。
私は Universal-Image-Loader を使用しましたが、古いデバイスでは問題なく、すべてがきびきびしています。
これをデバッグする方法がよくわかりません。
ビットマップ デコードから同期オブジェクトを削除することも含め、内部に少し入ってみましたが、まったく役に立ちませんでした。
リリースする新しいアプリがあり、パフォーマンスが非常に悪いため、プレ ICS サポートなしでリリースする必要がありました。
android - Volleyを使って画像をアップロード(プット)する方法
特定の URL に画像をアップロードする必要があります。従来の HTTP リクエストの構築は次のようになります。
httpPost.setEntity()
つまり、メソッドを使用して画像をリクエストに入れる必要があるとします。
Volley ライブラリを使用してリクエストを作成する方法は既に知っています。たとえば、次のように、クラスでgetBody
メソッドをオーバーライドする必要があります。com.android.volley.Request
Request
問題は、クラスにエンティティを設定する方法ですか? のような方法はありませんsetEntity()
。
android - Volley: http リクエストが遅い
同じ URL に対して 2 つの HTTP 要求を作成すると、1 つは HttpClient のみで、もう 1 つは Volley で、Volley 要求ははるかに長い時間がかかります。
たとえば、私のテスト環境では次のようになります。
- HttpClient を直接使用して google.com をリクエストすると、平均で約 250 ミリ秒かかります
- Volley を使用して google.com をリクエストすると、平均で約 750 ミリ秒かかります
Volley リクエストのサンプルのログ ダンプを次に示します。
ご覧のとおり、ボトルネックは実際の HTTP リクエストにあります。なぜそんなに遅いのですか?
android - Android Studio + Volley = NoClassDefFound?
さて、Android 用の Volley ネットワーク ライブラリと新しい Android Studio IDE を同時に試してみることにしました。ただし、いくつか問題が発生しています。
volley.jar をビルドし、それを新しいプロジェクトの libs フォルダーにコピーし、build.gradle を編集して volley を含め、メイン アクティビティで静的な ImageLoader と RequestQueue をセットアップしました。ただし、アプリをエミュレーター (4.2) にロードすると、最終的には
次のように Volley を呼び出す場合:
ライブラリをサポートするための Gradle の編集:
誰か私を正しい方向に向けてくれませんか?