我使用以下代码来获取徽标的图像并将其保存在数据库中。
DefaultHttpClient mHttpClient = new DefaultHttpClient();
HttpGet mHttpGet;
HttpResponse mHttpResponse;
HttpEntity entity;
for (int reportsCount = 0; reportsCount < reportsArr.length; reportsCount++) {
//Make a request to get our image
mHttpGet = new HttpGet(reportsArr[reportsCount][1]);
byte[] categoryLogoArr = null;
try {
mHttpResponse = mHttpClient.execute(mHttpGet);
if (mHttpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
entity = mHttpResponse.getEntity();
logoArr= EntityUtils.toByteArray(entity);
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long categoryID = dataHelper.addCategory(reportsArr[reportsCount][0], categoryLogoArr);
}
第一张图片完美地添加了,但其余的情况下它没有工作并发出以下警告。
WARN/SingleClientConnManager(2389): Invalid use of SingleClientConnManager: connection still allocated.
我的代码有什么问题?要改变什么来解决它?
答案 0 :(得分:0)
在重用连接之前,您需要使用内容。这可能是Exception using HttpRequest.execute(): Invalid use of SingleClientConnManager: connection still allocated
的副本我认为即使响应代码不是HttpStatus.SC_OK,也需要使用内容,并且在异常处理程序中。