Cómo ejecutar solicitudes de publicación http en android

HTTP POST es parte de las clases HTTP en desuso como org.apache.http y androidhttpclient a de Android 5.1. Migre su código a las clases de httpurlconnection que incluye la funcionalidad de publicación.HTTP POST se usa en Java para solicitar que un servidor web específico reciba y almacene datos enviados dentro de un formulario de solicitud. Los datos se envían y almacenan en pares de valor. Ejemplos de pares incluyen: correo electrónico: su dirección de correo electrónico: nombre de usuario: su nombre de usuario y contraseña: su contraseña.

Pasos

Parte 1 de 2:
Creando un bloque de prueba y un objeto httpurlconnection
1. Agregue permisos de Internet al manifiesto de Android. El manifiesto de Android es un archivo XML que proporciona información importante al sistema Android que determina la compatibilidad del dispositivo y el acceso a las características. En el "Androidmanifest.XML "Archivo, ingrese la siguiente línea para proporcionar acceso a Internet.
 Android: Nombre ="androide.permiso.INTERNET" />
  • 2. Crear un bloque de prueba. En Java, una declaración de prueba es un manejador de excepciones que evitará que el programa se bloquee si no puede realizar una acción. Debido a que esto requerirá una conexión a una ubicación de red, una declaración de prueba captará una excepción si no puede establecer una conexión. Puedes agregar esto a un nuevo método Java.
    intente {// ingrese las declaraciones que pueden causar excepciones}
  • 3. Construye httpurlconnection y objetos de url. Java es un idioma orientado a objetos. Un objeto está compuesto por estados y comportamientos, que es una instancia de una clase. El objeto HttpurlConnection envía y recibe datos a través de Internet. En su código, comience su nuevo método creando un objeto URL y asigne una URL para que el objeto HTTPURLCONEPETEP.
    URL URL = nueva URL ("http: // exampleurl.COM / ") - HTTPURLCONNECTION CLIENT = (httpurlconnection) URL.OpenConnection ()-
  • Para obtener las mejores prácticas, establecer los objetos URL y HTTPURLConnection fuera del bloque de prueba para facilitar la captura de excepciones.
  • URL URL = nueva URL ("http: // exampleurl.COM / ") - HTTPURLCONNEPTORIENTE CLIENT = NULL-TRYT {Client = (httpurlconnection) URL.opennconnection () -}
    Parte 2 de 2:
    Publicar la solicitud de salida y manejo de excepciones
    1. Establecer el método de solicitud para publicar. Para enviar información al servidor, debe configurar el tipo de objeto HttpurlConnection para publicar y configurar la salida en VERDADERO usando SetDoOutput (). Use la función SetRequestProperty () para configurar una propiedad de solicitud general que requiera dos elementos, una clave con una solicitud conocida del servidor y un valor que está contenido dentro de la clave correspondiente.
    • La función SetRequestProperty () se usa como el encabezado de la solicitud de codificación de aceptación para deshabilitar la descompresión automática.
    cliente.SetRequestMethod ("POST") - Cliente.SetRequestProperty ("Clave", "Valor") - Cliente.setdoutput (verdadero)-
  • 2. Salga de la corriente al servidor. Debe solicitar la transmisión de salida del servidor para poder escribir en el flujo de salida, o publicar, luego al ras y cierre la secuencia cuando haya terminado.
    OutputStream Outputpost = NUEVO BUFFERADO SOCIEDUPTREAM (CLIENTE.GetOutputStream ()) - Writestream (Outputpost) -OutputPost.Flush () - Outputpost.cerca()-
  • Por razones de rendimiento, es una buena idea permitir que el servidor sepa cuán grande en bytes será el contenido. El mejor método es SetFixedlengthStreamingMode (INT) cuando se conoce la longitud del cuerpo, mientras que se usa el código SetchunkedStreamingMode (INT) si se conoce a su longitud. No usar ninguno de los métodos anteriores, hace que el objeto HTTPURLCONEPETEP.
  • cliente.setfixedlengthstreamingmode (Outputpost.getbytes ().longitud) -client.SetchunkedStreamingMode (0)-
  • 3. Coger cualquier excepción. Después de la declaración de intento, use el bloque de captura para verificar una excepción para la entrada y salida con IOException, atrape un error de URL con la excepción de Malformedurl y verifique si la URL no proporciona una respuesta en el tiempo con la SocketTimeOutException.
    Captura (error de la concepción de MalformedurException) {// maneja una cobertura de URL} AUL} (SocketTimeOutException Error) {// maneja Tiempo de espera de acceso de URL.} captura (error de IoException) {// maneja errores de entrada y salida}
  • 4. Desconectar de la URL. Después de que haya terminado con su conexión URL, deberá desconectarse de la URL. Asegúrese de verificar que está conectado a una URL antes de intentar desconectarse.
    Finalmente {if (cliente != nulo) // asegúrese de que la conexión no sea nula.cliente.desconectar()-}
  • Consejos

    Cosas que necesitarás

    • Java IDE
    • Herramientas de desarrollo de Android (SDK, Emulator, etc.)
    • Teléfono de Android Desarrollador u otro dispositivo Android Powered (opcional para pruebas)
    • Conexión a Internet (para pruebas)
    Artículos Relacionados