作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在开发一个基于网络的 Android 应用程序,我们希望该应用程序将数据发布到服务器并以 JSONString 形式读取响应,该代码在 3 个不同的设备上进行了测试,所有结果都正常,除了 Droid X ,它只是在从 HttpResponse 读取 inputStream 时挂起。这是我的代码:
HttpResponse response = mClient.execute(mPost);
StatusLine status_line = response.getStatusLine();
int status_code = status_line.getStatusCode();
/*
* Not ok Response
*/
if (status_code != 200){
mBusy = false;
mListener.log("Error Status code = "+String.valueOf(status_code));
return false;
}
HttpEntity entry = response.getEntity();
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
mResponse = reader.readLine();
有什么想法我应该做什么吗?
最佳答案
我发现问题根源在于使用android的默认HTTP客户端。相反,我使用了:
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
HttpProtocolParams.setUseExpectContinue(params, false);
HttpConnectionParams.setConnectionTimeout(params, 10000);
HttpConnectionParams.setSoTimeout(params, 10000);
ConnManagerParams.setMaxTotalConnections(params, 100);
ConnManagerParams.setTimeout(params, 30000);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http",PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https",PlainSocketFactory.getSocketFactory(), 80));
ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params, registry);
mClient = new DefaultHttpClient(manager, params);
而不是:
mClient = new DefaultHttpClient();
希望对某人有帮助。
关于java - Android HttpEntry 读取在 Droid x 上挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11493531/
我一直在开发一个基于网络的 Android 应用程序,我们希望该应用程序将数据发布到服务器并以 JSONString 形式读取响应,该代码在 3 个不同的设备上进行了测试,所有结果都正常,除了 Dro
我是一名优秀的程序员,十分优秀!