使用Android应用程序进行HTTP调用有多种方法。如果有人想从http服务器带来图像,他/她可以使用一种方法来获取图像。另一方面,如果一个人想要为http服务器响应读取JSON或XML,他可以使用另一种方式来做到这一点。以上两个场景只是其他场景可能出现的示例。我的问题是,有没有任何标准的方法可以检查HttpConnection Timeout。在特定情况下,您可以使用WIFI或GPRS连接,但由于其较长的周转时间,我的应用程序的用户体验受到了阻碍。我该如何检查这个问题。
谢谢
下面是代码示例
public boolean readAndSaveFileFromWeb(String url) {
byte[] fileRead = null;
FileOutputStream fos;
try {
InputStream is = (InputStream) this.fetch(url);
if(is!=null){
fileRead = readBytes(is);
}else{
return false;
}
} catch (MalformedURLException e) {
Log.v(TAG, "readAndSaveFileFromWeb Exception: Malformed URL "
+ e.getMessage());
return false;
} catch (IOException e) {
Log.v(TAG, " readAndSaveFileFromWeb Exception: IOException"
+ e.getMessage());
return false;
} catch (Exception e) {
Log.v(TAG, " readAndSaveFileFromWeb Exception: " + e.getClass());
return false;
}
}
public Object fetch(String address) throws MalformedURLException,
IOException {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
现在上面的代码从地址url获取内容/响应。在特定情况下,WIFI或GPRS连接可用,但如果连接速度慢,则获取数据所需的时间更长。在此延迟期间..虽然我在不同的线程而不是UI线程中执行网络密集型任务,但应用程序看起来仍然被绞死。这有点妨碍了用户体验。
答案 0 :(得分:0)
在执行HTTP请求之前检查网络连接或捕获超时异常