ここでは、モバイルからサーバーにデータを POST しようとしています。そのためには、まずサーバーで認証のためにログインする必要があります。次に、POSTリクエストを介してデータを送信した後、この関連するstackoverflowの質問を確認しました。HttpClient 4.0.1 - 接続を解放するには?
私はこれらすべての方法を1つずつ試しました。
1.EntityUtils.consume(エンティティ);
2.is.close();
response.getEntity().consumeContent(); //その中で、consumeContent() は非推奨であることが示されています
post.abort();
これがペーストビンのリンクにある私の詳細なコードです。これを確認してください。
プログラムの流れはこちら。
最初のログインは呼び出されます ここを 確認してください MY LOGIN REQUEST
ログイン後、アイデアを投稿する前に、このメソッドが呼び出されます。
そして最後にpost ideaメソッドを呼び出します。
しかし、logcatは私にエラーを示しています:
java.lang.IllegalStateException: BasicClientConnManager の無効な使用: 接続がまだ割り当てられています。
別の接続を割り当てる前に、必ず接続を解放してください
W/System.err( 2217): java.lang.IllegalStateException: Invalid use of BasicClientConnManager: connection still allocated. W/System.err( 2217): Make sure to release the connection before allocating another one. W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.conn.BasicClientConnectionManager.getConnection(BasicClientConnectionManager.java:161) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.conn.BasicClientConnectionManager$1.getConnection(BasicClientConnectionManager.java:138) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:455) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:902) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:801) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:780) W/System.err( 2217): at com.rahul.cheerfoolz.api.util.postData(util.java:436) W/System.err( 2217): at com.rahul.cheerfoolz.postidea.idea.post_myidea_edit$Post_Idea.doInBackground(post_myidea_edit.java:354) W/System.err( 2217): at com.rahul.cheerfoolz.postidea.idea.post_myidea_edit$Post_Idea.doInBackground(post_myidea_edit.java:1) W/System.err( 2217): at android.os.AsyncTask$2.call(AsyncTask.java:185) W/System.err( 2217): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) W/System.err( 2217): at java.util.concurrent.FutureTask.run(FutureTask.java:138) W/System.err( 2217): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) W/System.err( 2217): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) W/System.err( 2217): at java.lang.Thread.run(Thread.java:1019)