問題タブ [loopj]
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 - android-async-http loopj で使用される httpclientandroidlib が遅い
JSONを取得するためのネットワーク用にloopjによるandroid-async-httpライブラリを使用するアプリケーションがあります。ネットワーク リクエストが遅く、それぞれ約 1 秒かかることがわかりました。iOS アプリからの同じ呼び出しには約 250 ミリ秒かかるため、問題はサーバーにあるのではなく、クライアントにあることがわかります。私のコードと android-async-http ライブラリにログメッセージを入れて、どこが遅いかを確認すると、android-async-http 内の client.execute(request, context) への呼び出しに時間がかかっていることがわかります図書館。
Google が apache http クライアントの使用を推奨しなくなったことは承知していますが、android-async-http はそれを使用しています。
httpclienandroidlib-1.1.2を使用してみました。これにより、他のいくつかのバグが修正されましたが、パフォーマンスは向上しませんでした。
キープアライブがオンになっており、機能していることを確認しました。これにより、後続のリクエストが約 750ms に改善されます。最初のリクエストはまだ遅く、iOS アプリは後続のリクエストでさらに高速です。
Android のネットワークが遅いのを見た人はいますか? もしそうなら、それを改善するためにあなたは何をしましたか?
android - Android でのアプリケーションの DNS のオーバーライド
Android の DNS に関して簡単な質問があります。
自分のアプリだけのために DNS サーバーを変更する方法はありますか?
具体的には、loopj の Android AsyncHttp lib ( http://loopj.com/android-async-http/ ) を使用しています。
ソースを見ると、setProxy メソッドに次のコメントがあることに気付きました。
したがって、たとえば「8.8.8.8」と -1 を setProxy の引数として設定すると、目標を達成できると想定しましたが、明らかに間違っていました。
提案?
android - Android - Loopj AsyncHttpClient: 3g データ接続での 2 番目の HTTP 要求でのエラー
この投稿を行う前に長い検索を行い、多くのテストを行いましたが、成功しませんでした。
私の問題(要するに): 3gデータ接続では、get requestを実行するたびに、初めて接続が成功して完了します。
ここで、デバイスが数分間スタンバイ状態になると、同じget 要求を繰り返すと、以下で報告したエラーですぐに失敗します。いくつかのコメント:
- この問題は、ルート化されたNexus 5 (Android 4.4.2)でのみ発生しています。
- デバイスがスタンバイ状態にならない場合、問題を再現できません
- 3 回目に接続を試みると、接続は正常に完了します。
- WiFi モードでは、問題を再現できません。
- Galaxy S3 (android 4.3) と Galaxy S1 でもテスト済みで、問題を再現できません。
- ここにあるLoopj AsyncHttpClientライブラリ(1.4.4)の最新バージョンを使用しています:http://loopj.com/android-async-http/doc/com/loopj/android/http/AsyncHttpClient.html
エラー詳細
コードを見てみましょう。
すべての接続を管理するシングルトン クラスがあります。
私は今迷子になっています: クライアントのいくつかの構成パラメーターが欠落しているかどうか、またはクライアントが間違った接続を再利用しようとしているかどうかなどはわかりません...
私はライブラリの新しいユーザーなので、本当に間違ったことをしている可能性があります。
誰かが私を助けてくれることを願っています。
前もって感謝します。
android - アップロードされた jpg タイプを「application/octet-stream」ではなく「image/jpg」として認識するように設定する方法
私は Loopj のandroid-async-httpを使用していますこれは私のコードです:
私の問題は、php サーバーが画像をapplication/octet-stream
ではなく として受け取ったことですimage/jpg
。、などimage/jpg
のタイプのファイルをアップロードしたサーバー担当者のホワイトリストとして必要です。image/jpg
image/png
更新 1
アプリケーションにコンテンツ タイプ パラメータを追加しようとしました。ただし、php コードは引き続きapplication/octet-stream
.
更新 2
私はプロジェクトを進める必要があるので、私たちが現在行っていることは、Exif を使用して MIME スニッフィングを実装することをサーバー担当者に提案することです。PHPでは、 exif_imagetype()でそれを行います。これまでのところ、すべて順調です。Androidで実装可能なソリューションが見つかるまで、この質問を開いたままにします。
java - 最初の HTTP 呼び出しでの SocketTimeoutException
java.net.SocketTimeoutException
HTTP の get、put、post、または delete を呼び出すと取得します。しかし、もう一度ボタンをクリックして別の HTTP 呼び出しを行うと、成功します。このようにAsyncTask/doInBackground
失敗しないようです。しかし、LoopJ HTTP ライブラリを使用した最初の HTTP 呼び出しは失敗します。以下のメソッドを呼び出すためにボタンがフックされます。On my first click
、上記のようになりましたexception
が、もう一度クリックすると成功です。以下は丸太猫です。
android - POST リクエストの RequestParams hashmap/arralist
POST リクエストを行う際の RequestParams で、ハッシュ (キー/値) または配列を送信したい。これは RequestParams を使用して可能ですか? もしそうなら、どのように?
ありがとう