我目前正在尝试了解有关 Android 中 AsyncTask 的一些知识。我正在使用我正在使用的一些学校项目的代码片段,但我似乎无法正确运行它。我得到的错误如下:
“SingleClientConnManager 的使用无效:连接仍然分配。确保在分配另一个连接之前释放连接。”
所以基本上我确实理解它所说的,我需要在开始另一个之前关闭 http 连接。(如果我错了,请纠正我哈哈)所以我想知道是否有人可以在这里帮助我,因为我已经被困了几个小时。
我正在使用的代码如下:
protected class loader extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
try {
httpclient = new DefaultHttpClient();
httppost = new HttpPost("url_of_my_phpdocument_here.php");
//legg til data
nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("username",username.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("password",password.getText().toString().trim()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response=httpclient.execute(httppost);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
final String response = httpclient.execute(httppost, responseHandler);
//Toast.makeText(MainActivity.this,response, Toast.LENGTH_LONG).show();
//tv.setText(""+response);
if(response.equalsIgnoreCase("User Found"))
{
startActivity(new Intent("com.example.obligatorisk.BROWSER"));
}
}
catch(Exception e){
e.printStackTrace();
}
return null;
}
// TODO Auto-generated method stub
}
我做了很多研究并找到了解决方案,但对于我发现的那些示例,它们似乎非常不同和定制。即使我已经和他们玩了很长时间,我似乎也无法让他们中的任何一个工作。
谢谢你。:-)