Android hat keinen speziellen Code zum Senden und Empfangen von HTTP. Sie können Standard-Java-Code verwenden. Ich würde empfehlen, den Apache HTTP-Client zu verwenden, der mit Android geliefert wird. Hier ist ein Codeausschnitt, mit dem ich einen HTTP-POST gesendet habe.
Ich verstehe nicht, was das Senden des Objekts in einer Variablen namens "jason" mit irgendetwas zu tun hat. Wenn Sie nicht sicher sind, was genau der Server will, sollten Sie ein Testprogramm schreiben, um verschiedene Zeichenfolgen an den Server zu senden, bis Sie wissen, in welchem Format er sein muss.
int TIMEOUT_MILLISEC = 10000; // = 10 seconds
String postMessage="{}"; //HERE_YOUR_POST_STRING.
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient client = new DefaultHttpClient(httpParams);
HttpPost request = new HttpPost(serverUrl);
request.setEntity(new ByteArrayEntity(
postMessage.toString().getBytes("UTF8")));
HttpResponse response = client.execute(request);
postMessage
ist nicht definiertDas Senden eines JSON-Objekts von Android aus ist einfach, wenn Sie den Apache HTTP-Client verwenden. Hier ist ein Codebeispiel, wie es geht. Sie sollten einen neuen Thread für Netzwerkaktivitäten erstellen, um den UI-Thread nicht zu blockieren.
Sie können auch Google Gson verwenden , um JSON zu senden und abzurufen.
quelle
quelle
HttpPost
wird von Android Api Level 22 veraltet. Also,HttpUrlConnection
für weitere Zwecke verwenden .quelle
Es gibt eine überraschend schöne Bibliothek für Android HTTP unter dem folgenden Link:
http://loopj.com/android-async-http/
Einfache Anfragen sind sehr einfach:
So senden Sie JSON (Gutschrift an "voidberg" unter https://github.com/loopj/android-async-http/issues/125 ):
Es ist alles asynchron, funktioniert gut mit Android und kann sicher von Ihrem UI-Thread aus aufgerufen werden. Der responseHandler wird auf demselben Thread ausgeführt, aus dem Sie ihn erstellt haben (normalerweise Ihrem UI-Thread). Es hat sogar einen eingebauten resonseHandler für JSON, aber ich bevorzuge die Verwendung von Google Gson.
quelle
Jetzt, da das
HttpClient
veraltet ist, besteht der aktuelle ArbeitscodeHttpUrlConnection
darin, die Verbindung zu erstellen und die Verbindung zu schreiben und daraus zu lesen. Aber ich habe es vorgezogen, den Volley zu benutzen . Diese Bibliothek ist von Android AOSP. Ich fand es sehr einfach zu bedienenJsonObjectRequest
oderJsonArrayRequest
quelle
Nichts könnte einfacher sein als dies. Verwenden Sie OkHttpLibrary
Erstellen Sie Ihren JSON
und senden Sie es so.
quelle
quelle