【发布时间】:2014-10-19 13:32:52
【问题描述】:
我在 AsyncTask innerc 类中创建以下方法以连接到 Internet 并从提供的 url 获取 JSON 文件。如果连接不好,我会遇到问题,我的应用会挂起很长时间等待连接...
private JSONArray connectAndCreateJsonArray(String url) {
JSONArray jsonArray = new JSONArray();
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
request.addHeader("Cache-Control", "no-cache");
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
InputStreamReader in = new InputStreamReader(entity.getContent());
BufferedReader reader = new BufferedReader(in);
StringBuilder stringBuilder = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
jsonArray = new JSONArray(stringBuilder.toString());
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonArray;
}
我从 doInBackground() 方法调用此方法。如何使用 AlertDialog 处理连接超时?
【问题讨论】:
标签: android android-asynctask connection timeout android-alertdialog