我有一个应用程序,我希望每次与互联网连接并从互联网上获取数据时需要花多少时间? 如果需要更多时间,那么我想向用户发出“互联网连接问题”的警告
所以我怎么知道它需要花多少时间。在我给我的应用程序的函数下面,我使用的HttpResponse
.plz告诉我如何获得给出响应所需的时间
String page = executeHttpGet("http://192.168.1.109/temp/android.php");
private String executeHttpGet(String URL) throws Exception {
BufferedReader bufferedReader = null;
try {
HttpClient client = new DefaultHttpClient();
client.getParams().setParameter(CoreProtocolPNames.USER_AGENT,
"android");
HttpGet request = new HttpGet();
request.setHeader("Content-Type", "text/plain; charset=utf-8");
request.setURI(new URI(URL));
HttpResponse response = client.execute(request);
bufferedReader = new BufferedReader(new InputStreamReader(response
.getEntity().getContent()));
StringBuffer stringBuffer = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line + NL);
System.out.print(stringBuffer);
}
bufferedReader.close();
page = stringBuffer.toString();
System.out.println(page + "page");
return page;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
Log.d("BBB", e.toString());
}
}
}
}
谢谢。
答案 0 :(得分:3)
..如果需要更多时间,那么我想 警告......
由于您知道应该获得响应的最佳时间,因此在创建连接时不能指定超时。请参阅下面的代码片段,了解如何设置超时。然后捕获超时错误并通知该服务太长时间无法响应。
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpParams params = httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params, 5000);
HttpConnectionParams.setSoTimeout(params, 5000);
ClientExecutor executor = new ApacheHttpClient4Executor(httpClient);
价:
答案 1 :(得分:0)
以上答案也已实施......
最简单的逻辑方式是......
1)在一些变量中占用系统时间。
2)在响应之后将系统时间转换为另一个变量。
3)采取差异,你将获得大致的响应时间。