Androidに付属のHttpComponentsライブラリを使用していました。GETとPOSTを使用してパラメーターを送信し、サーバーからInputStreamまたはStringを受信するために、2つのクラスを作成しました。すべてが正常に機能していました。スレッドでのすべてのダウンロード、開始、一時停止、再開...しかし、今日、2つのダウンロードを同時に開始しましたが、いずれも終了していません。
私は解決策をグーグルで検索し、AndroidにはHttpCore4.0-beta2が付属していることを確認しました。はい、とても古いです。2008年7月1日にリリースされ、Androidはそれ以降更新していません...
クラスを書き直しましたが、現在HttpURLConnectionを使用しており、2つのファイルを同時にダウンロードできます。
OK、AndroidでHttpComponentsの使用を検討している場合は、警告でした。今私の質問。新しいバージョン4.1をプロジェクトにインポートしたいと思います。ビルドされたパスにjarを追加しましたが、新しい(4.1)パッケージと古い(beta2、4.0)パッケージが同じである場合、これらのjarをどのように使用できますか?
ありがとう。
解決済みThreadSafeClientConnManager
を使用してDefaultHttpCLinetを作成する必要があります。
HttpParams parameters = new BasicHttpParams ();
HttpProtocolParams.setVersion (parameters, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset (parameters, HTTP.UTF_8);
HttpProtocolParams.setUseExpectContinue (parameters, false);
ConnManagerParams.setMaxTotalConnections (parameters, MAX_CONNECTIONS);
SchemeRegistry schReg = new SchemeRegistry ();
schReg.register (new Scheme ("http", PlainSocketFactory.getSocketFactory (), 80));
client = new DefaultHttpClient (new ThreadSafeClientConnManager (parameters, schReg), parameters);
更新:AndroidHttpClientを使用することもできます。このクラスでは、ThreadSafeClientConnManagerを使用する必要はありません。
AndroidHttpClient client = AndroidHttpClient.newInstance ("Android");