私は現在、Android での AsyncTask'ing について少し学ぼうとしています。私が取り組んでいる学校のプロジェクトのコードフラグメントを使用していますが、正しく実行できないようです。私が得ているエラーは次のとおりです。
「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
}
私は多くの調査を行い、解決策を見つけましたが、それらは非常に異なっており、私が見つけた例とは異なります。私は非常に長い間それらをいじっていましたが、それらのどれも機能させることができないようです。
ありがとうございました。:-)