¿Cómo configuro el cuerpo de un HttpPut en Android? (sin agregar bibliotecas)

Quiero subir algunos datos de una aplicación de Android a Pachube.

[Actualización: Para la gente leyendo esto en 2013, "Pachube" se convirtió en "Cosm", que ahora es "Xively".]

Este lanzamiento es proporcionado por su documentación como un ejemplo.

¿Cómo puedo lograr esto con la implementación de HttpPut (o HttpPost) de Android?

Realmente no quiero tener que agregar bibliotecas adicionales, ya que quiero mantener la aplicación lo más pequeña posible.

Ya tengo un JSONObject con mis datos en él.

Aquí hay un pseudocódigo. Tenga en cuenta que no debe enviar datos url codificados formulario en una solicitud PUT, ya que puede romper servidor OAuth (si se utiliza):

HttpClient client = new DefaultHttpClient(); HttpPut put = new HttpPut(url); put.addHeader("Content-Type", "application/json"); put.addHeader("Accept", "application/json"); put.setEntity(new StringEntity(jsonObj.writeValue())); HttpResponse response = client.execute(put); 

Una forma de hacerlo en Java / Android sin bibliotecas adicionales es:

 URL url = new URL("http://www.example.com/whatever"); HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); httpCon.setDoOutput(true); httpCon.setRequestMethod("PUT"); OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream()); out.write("Data you want to put"); // for example your JSON object out.close(); 

ACTUALIZACIÓN – según los comentarios:

puede obtener la respuesta por ejemplo llamando httpCon.getInputStream() y / o httpCon.getErrorStream() etc.

  • ¿Cómo recibir mensajes de difusión de SignalR utilizando Microsoft Java-Client?
  • Apache HttpClient HttpRequestRetryHandler nunca invocado
  • Servicio Android-Comunicación de 2 vías
  • No se pudo iniciar sesión. Compruebe la conexión de red e inténtelo de nuevo.
  • Android - MediaPlayer + PowerManager.PARTIAL_WAKE_LOCK
  • Java / Android Método de llamada desde cadena WITH Value
  • Android cómo ver la cadena larga en logcat
  • Cómo alojar un servicio web java RESTful para la aplicación android
  • Establecer la fecha / hora de Android mediante programación
  • Java (Android) reordenando una lista de objetos
  • Función de devolución de llamada de Bluetooth onCharacteristicRead no está realizando llamada de intención a otra actividad Trabajar con <API21. Restaurantes en Marshmallow
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.