Java 使用SingleClientConnManager和AsyncTask时出错

Java 使用SingleClientConnManager和AsyncTask时出错,java,android,eclipse,Java,Android,Eclipse,我对android编程非常陌生,我已经被这段代码困扰了好几天了。 我得到的错误是“SingleClientConnManager的使用无效:连接仍然分配。”-我理解为什么会发生这种情况,但不知道如何解决它。我正在使用的代码: protected class loader extends AsyncTask<String, Void, String> { protected void onPreExecute() { nameValuePairs =

我对android编程非常陌生,我已经被这段代码困扰了好几天了。 我得到的错误是“SingleClientConnManager的使用无效:连接仍然分配。”-我理解为什么会发生这种情况,但不知道如何解决它。我正在使用的代码:

protected class loader extends AsyncTask<String, Void, String> {

    protected void onPreExecute()
    {
        nameValuePairs = new ArrayList<NameValuePair>(1);
        nameValuePairs.add(new BasicNameValuePair("username_in",username.getText().toString().trim()));
        nameValuePairs.add(new BasicNameValuePair("password_in",password.getText().toString().trim()));
        tv.setText("Started onPreExecute");

    }

    @Override
    protected String doInBackground(String... params) {

        try {
            httpclient = new DefaultHttpClient();
            httppost = new HttpPost("http://www.myurl.com/phplogin.php");

            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();
            if(response.equalsIgnoreCase("User Found"))
            {
                httppost.getEntity().consumeContent();
                //startActivity(new Intent("com.example.obligatorisk.BROWSER"));
            }
        }
        catch(IOException e){
            e.printStackTrace();
        }
        return null;
    }

    protected void onPostExecute(String result)
    {
        tv.setText("Reached onPostExecute");
    }
    // TODO Auto-generated method stub      
}
该项目背后的想法是为应用程序创建一个登录功能

我一直在网络上寻找解决方案和帮助,但无论我怎么尝试,我都无法解决这个问题。我真的希望有人能抽出时间来帮我。如果你需要更多关于代码、错误等的信息,请告诉我,我会添加它


谢谢你,也感谢所有之前帮助过我的人。

你只是在做
httppost.getEntity().consumercontent()如果响应等于“用户已找到”。不管怎样,您都必须完全使用内容。将该方法调用移到条件的外部

    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    final String response = httpclient.execute(httppost, responseHandler);

    //Toast.makeText(MainActivity.this,response, Toast.LENGTH_LONG).show();
    if(response.equalsIgnoreCase("User Found"))
    {
        //startActivity(new Intent("com.example.obligatorisk.BROWSER"));
    }
    httppost.getEntity().consumeContent();
ResponseHandler ResponseHandler=new BasicResponseHandler();
最终字符串响应=httpclient.execute(httppost,responseHandler);
//Toast.makeText(MainActivity.this,response,Toast.LENGTH_LONG.show();
if(response.equalsIgnoreCase(“用户找到”))
{
//startActivity(新意图(“com.example.obligatorisk.BROWSER”);
}
httppost.getEntity().consumeContent();

我尝试过这样做,但仍然出现相同的错误。ResponseHandler ResponseHandler=新BasicResponseHandler();最终字符串响应=httpclient.execute(httppost,responseHandler)//Toast.makeText(MainActivity.this,response,Toast.LENGTH_LONG.show();if(response.equalsIgnoreCase(“用户找到”){startActivity(新意图(“com.example.obligatorisk.BROWSER”);}httppost.getEntity().consumercontent();
    ResponseHandler<String> responseHandler = new BasicResponseHandler();
    final String response = httpclient.execute(httppost, responseHandler);

    //Toast.makeText(MainActivity.this,response, Toast.LENGTH_LONG).show();
    if(response.equalsIgnoreCase("User Found"))
    {
        //startActivity(new Intent("com.example.obligatorisk.BROWSER"));
    }
    httppost.getEntity().consumeContent();