Cum se implementează cererile HTTP POST pe Android
Solicitările HTTP POST sunt esențiale pentru orice aplicație Android care utilizează internetul. Tot ce trebuie să faceți este să implementați funcționalitatea.
Solicitările HTTP POST sunt esențiale pentru orice aplicație Android care utilizează internetul. Tot ce trebuie să faceți este să implementați funcționalitatea.
Clientul HttpClient = nou DefaultHttpClient () -
HttpPost post = nou HttpPost (adresa) -
listă perechi = noul ArrayList() -
pairs.add (noul BasicNameValuePair ("key1", "value1"))
pairs.add (noul BasicNameValuePair ("key2", "value2")) -
post.setEntity (noua adresă UrlEncodedFormEntity (perechi)) -
Răspunsul HttpResponse = client.execute (post) -
Metoda 2: Utilizarea unui obiect Json pași: În loc să utilizați NumeValuePair, puteți să creați pur și simplu un obiect jSon și să îl convertiți în șir la trimitere.
Dacă trebuie să trimiteți o solicitare de post ca această cerere simplă pentru o pereche de valori și chei, consultați exemplul:{
"e-mail": "[email protected]",
"old_passw": 306,
"use_id": 123,
"new_passw": 456
}
1 Creați un obiect json și plasați perechile de valoare și perechi mapate de server.JSONObject jsonobj = nou JSONObject () -
jsonobj.put ("e-mail", "[email protected]") -
jsonobj.put ("old_passw", "306") -
jsonobj.put ("use_id", "123") -
jsonobj.put ("new_passw", "456") -
2 Creați un URL http și un post http.DefaultHttpClient httpclient = new DefaultHttpClient () -
HttpPost httppostreq = noul HttpPost ("your_server_url") -
3 Creați un șir. Șirul va fi atașat la adresa URL în formatul solicitat de HTTP POST.
StringEntity if = StringEntity nou (jsonobj.toString ()) -
4 Această parte este opțională și avansată și o puteți ignora dacă nu este foarte important să declarați un set de caractere.se.setContentType ("cerere / json-charset = UTF-8") -
se.setContentEncoding (noul BasicHeader (HTTP.CONTENT_TYPE, "application / json-charset = UTF-8"))
5 Configurați entitatea în solicitarea postului.httppostreq.setEntity (se) -
6 Executați solicitarea POST.HttpResponse httpresponse = httpclient.execute (httppostreq) -
7 Pentru a primi răspunsul de la server după executarea POST POST. Introduceți un bloc de trycatch.String responseText = null-
încercați {
responseText = EntityUtils.toString (httpresponse.getEntity ()) -
} captură (ParseException e) {
e.printStackTrace () -
Log.i ("Parse Exception" și + "") -
}
8 Obțineți șirul de răspuns în noul obiect jSON și valorile acestuia. Terminat! Terminat! JSONObject json = nou JSONObject (răspunsText) -
Dacă aveți nevoie de o solicitare de post cu obiectul din structura principală, procedați astfel:{
"cerere": {
"e-mail": "[email protected]",
"old_passw": 306,
"use_id": 123,
"new_passw": 456
}
}
Schimbați primul pas în acest fel. 1 `Creați un obiect jSON interior și completați-l.`JSONObject header = nou JSONObject () -
header.put ("e-mail", "[email protected]") -
header.put ("old_passw", "306") -
header.put ("use_id", "123") -
header.put ("new_passw", "456") -
2 Creați un nou obiect jSON (exterior, cu tasta "request") și plasați jSON-ul interior în el ca valoare a tastei "request".
JSONObject jsonobj = nou JSONObject () -
jsonobj.put ("cerere", antet) -