Cómo aplicar peticiones http post en android
Método 1:usando NameValuePair
peticiones HTTP POST son esenciales para cualquier aplicación para Android que utiliza el Internet. Todo lo que necesita hacer es implementar la funcionalidad.
pasos
usando NameValuePair
HttpClient cliente = new DefaultHttpClient () -
HttpPost post = nueva HttpPost (dirección) -
lista pares = new ArrayList () -
pairs.add (nueva BasicNameValuePair ("key1", "valor1")) -
pairs.add (nueva BasicNameValuePair ("clave2", "valor2")) -
post.setEntity (nueva UrlEncodedFormEntity (pares)) -
HttpResponse de respuesta = client.execute (post) -
Método 2: El uso de un objeto JSON pasos: En lugar de utilizar NameValuePair, sólo tiene que crear un objeto JSON y lo convierten en cadena a enviar.
Si necesita enviar un mensaje petición como esta simple par de valores de petición y las claves, véase el ejemplo:{
"correo electrónico":"[email protected]",
"old_passw": 306,
"use_id": 123,
"new_passw": 456
}
1 Crear un objeto JSON y colocar los pares de clave y el valor asignadas por el servidor.JSONObject jsonobj = new JSONObject () -
jsonobj.put ("correo electrónico", "[email protected]") -
jsonobj.put ("old_passw", "306") -
jsonobj.put ("use_id", "123") -
jsonobj.put ("new_passw", "456") -
2 Crear un cliente HTTP y post URL.DefaultHttpClient httpclient = new DefaultHttpClient () -
HttpPost httppostreq = new HttpPost ("your_server_url") -
3 Crear una cadena. La cadena se añade a la URL en el formato requerido por el HTTP POST.
StringEntity si = new StringEntity (jsonobj.toString ()) -
4 Esta parte es opcional y avanzada, puede omitir si no es muy importante declarar un conjunto de caracteres.se.setContentType ("application / json-charset = UTF-8") -
se.setContentEncoding (nueva BasicHeader (HTTP.CONTENT_TYPE,"application / json-charset = UTF-8")) -
5 Establecer la entidad en la solicitud posterior.httppostreq.setEntity (si) -
6 Ejecutar la solicitud POST.HttpResponse HttpResponse = httpclient.execute (httppostreq) -
7 Para recibir la respuesta del servidor después de ejecutar el HTTP POST. Escribir en un bloque TryCatch.String = null-responseText
try {
responseText = EntityUtils.toString (httpresponse.getEntity ()) -
} Catch (ParseException e) {
e.printStackTrace () -
Log.i ("Excepción de análisis sintáctico"y + "") -
}
8 Obtener la cadena de respuesta en el nuevo objeto JSON y sus valores. Listo! ` Listo! ` JSONObject json = new JSONObject (responseText) -
Si usted necesita un puesto solicitud al objeto dentro de la estructura principal, haga lo siguiente:{
"solicitud": {
"correo electrónico":"[email protected]",
"old_passw": 306,
"use_id": 123,
"new_passw": 456
}
}
Cambiar el primer paso de esta manera. 1 `Crear un objeto JSON interna y llenarlo.JSONObject cabecera = new JSONObject () -
header.put ("correo electrónico", "[email protected]") -
header.put ("old_passw", "306") -
header.put ("use_id", "123") -
header.put ("new_passw", "456") -
2 Crear un nuevo objeto JSON (exterior con la llave "solicitud") Y colocar el JSON interna en el interior como valor clave "solicitud".
JSONObject jsonobj = new JSONObject () -
jsonobj.put ("solicitud", Header) -
materiales necesarios
- IDE Java
- Herramientas de desarrollo de Android (SDK emulador, etc.)
- Teléfono u otro dispositivo con Android (opcional para la prueba)
- Conexión a Internet (para la prueba)