Androidバージョン> 3をターゲットとするAndroidアプリケーションのasynctaskを介してxmlダウンロードを実行するための次のコードがあります。ネットワーク/インターネット接続が良好であれば、コードはかなりうまく機能します。ただし、インターネット接続が良好でない場合、アプリケーションは強制終了します。さまざまな種類のエラーキャッチを試してみましたが、低速のインターネット接続で強制終了を解決できません。
誰でも私が試すことができる提案があります
private class DownloadWebPageXML extends AsyncTask<String, Void, InputStream> {
@Override
protected InputStream doInBackground(String... urls) {
Log.d("mylogitem", "AsyncTask started!");
InputStream content = null;
String myurl = urls[0];
AndroidHttpClient client = AndroidHttpClient.newInstance("Android");
HttpGet httpGet = new HttpGet(myurl);
try {
HttpResponse execute = client.execute(httpGet);
content = execute.getEntity().getContent();
} catch (Exception e) {
xmldownloaderror = e.getMessage();
Log.d("mylogitem", e.getMessage());
} finally {
Log.d("mylogitem", "Closing AndroidHttpClient");
client.close();
}
return content;
}
@Override
protected void onPostExecute(InputStream result) {
//do xml reader on inputstream
}
}