Ungültige Verwendung von SingleClientConnManager: Verbindung noch Mittel
Ich will wissen, warum dieser code nicht ausgeführt werden? Ich bin versucht zu senden, meine Daten von meinem Gerät via POST-Methode, aber es ist kein Fehler. Die app beendet sich von selbst auf mein Gerät durch Kommunikation "Meine app wurde eingestellt.:
Ist hier die Ausführung:
KlientNameValue kn = new KlientNameValue(getApplicationContext());
kn.new MyAsyncTask().execute(zam.klient.getNazwa(),zam.klient.getNip(),zam.klient.getAdres());
Und hier ist der code:
public class KlientNameValue {
List<NameValuePair> KlientNameValuePairs = new ArrayList<NameValuePair>();
Context context;
public KlientNameValue(Context context) {
super();
this.context=context;
}
public class MyAsyncTask extends AsyncTask<String, Void, Void> {
@Override protected Void doInBackground(String... params) {
//TODO Auto-generated method stub
postData(params[0], params[1], params[2]);
return null;
}
@Override
protected void onPostExecute(Void result) {
Toast.makeText(context , "Zlecenie zostało wysłane",
Toast.LENGTH_LONG).show();
}
void postData(String nazwa, String nip, String adres) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("here is my default link :)");
try { //Add your data
KlientNameValuePairs = new ArrayList<NameValuePair>();
KlientNameValuePairs.add(new BasicNameValuePair("Kli_imie", nazwa));
KlientNameValuePairs.add(new BasicNameValuePair("Kli_adres", adres));
KlientNameValuePairs.add(new BasicNameValuePair( "Kli_nr_telefonu",
nip));
httppost.setEntity(new UrlEncodedFormEntity( KlientNameValuePairs));
HttpResponse response = httpclient.execute(httppost);
//httppost.setEntity(new UrlEncodedFormEntity(
// ZamowienieNameValuePairs)); //HttpResponse response1 =
} catch (IOException e) { //TODO Auto-generated catch block
e.printStackTrace(); }
}
}
}
Fehler:
02-15 17:45:24.695: E/AndroidRuntime(21890): at android.widget.Toast.<init>(Toast.java:94)
02-15 17:47:19.343: W/SingleClientConnManager(22288): Invalid use of SingleClientConnManager: connection still allocated.
02-15 17:47:19.343: W/SingleClientConnManager(22288): Make sure to release the connection before allocating another one.
- post die logcat..
- "Nur app beenden, selbst auf Gerät komunizieren "Meine app beendet wurde.38" Es bedeutet, dass die app abgestürzt ist. Zeigen Sie uns die log bitte. Auch in Ihrem Konstruktor, es sollte
this.context = context
. - 02-15 17:45:24.695: E/AndroidRuntime(21890): at android.- widget.Toast.<init>(Toast.java:94) 02-15 17:47:19.343: W/SingleClientConnManager(22288): Ungültige Verwendung von SingleClientConnManager: Verbindung noch Mittel. 02-15 17:47:19.343: W/SingleClientConnManager(22288): Stellen Sie sicher, um die Verbindung zu lösen, bevor die Zuweisung einer anderen.
- hier ist es
- Es ist viel einfacher zu Lesen logcat, wenn Sie Bearbeiten Ihre post mit der full logcat und-format in einen code-block.
- hier ist es.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausführung des http-request-zwei mal, dass ist komplett falsch ist, bevor Sie es verzehren. So entfernen Sie die zweite
httpclient.execute(httppost);
weil Sie bereits führen Sie diese http-Anforderung.bezeichnen
verwenden Sie diesen code, so dass die Ausnahme von freien Ressourcen und die Zuteilung oder wird nicht kommen
Diese exception kann passieren, wenn zwei oder mehr threads interagieren mit einem einzigen
org.apache.http.impl.client.DefaultHttpClient
oder geben Sie einfach neue Objekt auf jede Anfrage, Wann und wo immer Sie anrufen, Sie get oder post http-request des Clients interagieren mit dem server zum abrufen der Daten oder download der großen Datei
wie
wie Sie im code zum abrufen der Antwort