2016-04-11 33 views
1

SO! Mein Freund und ich beschlossen, eine Reihe von Server + Anwendung zu lernen. Jetzt hat er diese Seite erstellt, um den aktuellen Status der Datenbank zu überprüfen - http://java.pareto-marketing.ru/showBD.php Sie ist jetzt leer und "Json ответ" ist null. Er schuf auch ein PHP-Skript, wenn sie auf den Linkandroid - HttpUrlConnection funktioniert nicht

http://java.pareto-marketing.ru/chat.php?action=insert&author=Barbara&client=Mike&text=Hello 

fügen Sie einen Eintrag auf die Daten der Autor verbindet - Barbara, der Empfänger - Mike, Text - Hallo. Ich versuche, mit HttpURLConnection zu verbinden, hier ist mein Code ...

try { 
URL url = new URL("http://java.pareto-marketing/chat.php?action=insert&author=Barbara&client=Mike&text=Hello"); 
conn = (HttpURLConnection) url.openConnection(); 
conn.setDoOutput(true); 
conn.setRequestMethod("POST"); 
conn.setRequestProperty("User-Agent", "Mozilla/5.0"); 
conn.connect(); 
int res = conn.getResponseCode(); 
Log.i("chat", "new message!" + res); 
} 
catch (Exception e) { 
Log.i("chat", "foo" + e.getMessage()); 
} 
finally { 
conn.disconnect(); 
} 

LogCat - I

Displayed ru.diskrim.connect/.MainActivity: +679ms 

Was ist los?

+1

Sie sind die Daten in der URL senden (Das ist Methode erhalten), aber Sie haben in Ihrem Methodentyp Geben Sie – Jois

+0

@Jois, oh, sorry ... Könnten Sie mir helfen, mit dem Code? –

+0

Sicher wird eine Antwort in einer Minute hochladen – Jois

Antwort

1

Daten zu senden, mit post-Methode, erste Sache ist, Sie zu setDoOutput benötigen (true) Dieser Mittelwert der Sie eine Anfrage Körper senden möchten.

Als nächstes müssen Sie DataOutPutStream zur Steuerung der Ausgabe verwenden. Wir können mehrere Operationen für den Ausgabestrom durchführen, indem wir DataOutPutStream, verwenden. Es hilft uns auch, primitive Java-Datentypen in einen Ausgabestrom zu schreiben.

JSONObject urlParameters = new JSONObject(); 
    jsonParam.put("action", "insert"); 
    jsonParam.put("author", "barbara"); 
    jsonParam.put("client", "mike"); 
    jsonParam.put("text", "hello"); 

//Send request 
    DataOutputStream wr = new DataOutputStream (
       conn.getOutputStream()); 
    wr.writeBytes (URLEncoder.encode(urlParameters.toString(),"UTF-8"); 
    wr.flush(); 
    wr.close(); 

URLParameter enthalten Ihren Parameter.

Auf diese Weise können Sie Postdaten an Ihren Server senden. Danke. Ich hoffe, das war hilfreich

+0

Wenn dies hilfreich war, stimme bitte die Antwort – Jois

+0

:(funktioniert nicht ... –

+0

Eigentlich das, wie Sie Daten mit httpUrlConnection posten. Versuchen Sie mit Volley – Jois

0

Sie müssen verwenden:

conn.setDoOutput(true); 

, wenn Sie Methode POST oder PUT verwenden möchten. Setzen Sie ihn auf false, wenn Sie GET verwenden

+0

Sorry, diese Zeile ist nicht korrigiert –

Verwandte Themen