私のアプリケーションは、利用可能な場合、バックグラウンドでデータをダウンロードします。そのために AsyncTask を使用していますが、Web サービスに到達できない場合、または Web サービスの応答に時間がかかりすぎる場合、アプリケーションの動作が非常に遅くなるか、まったく動作しなくなります。AsyncTask でオンラインにするために、次のコードを使用しています。
/* Open connection. */
URL url = new URL(webserviceLink);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
/* Create input stream. */
inputStream = connection.getInputStream();
while ((bytesRead = inputStream.read(buffer, 0, bufferSize)) > 0) {
fileOutputStream.write(buffer, 0, bytesRead);
counter += bytesRead;
}