LoopJ AndroidAsyncHttp y JSON POST ARRAY

Yo estaba usando LoopJ AndroidAsyncHttp biblioteca para comunicarse con mi PhP Server. Y tengo un problema.

Necesito enviar un JsonObject así:

{ "data": 2376845, "data2": 12545, "array": [{"data3": "2013-01-10", "data4": 23532 }, {"data3": "2013-01-11", "data4": 523526 }] } 

Pero en el javadoc; Los únicos parámetros que es RequestParams, y no tienen ningún tipo de Array. ¿Alguien puede ayudarme? O Muéstrame algo que yo pueda usar. Gracias.

Utilizar

 public void post(Context context, String url, HttpEntity entity, String contentType, AsyncHttpResponseHandler responseHandler) 

en lugar de:

 public void post(Context context, String url, RequestParams params, AsyncHttpResponseHandler responseHandler) 

Analiza tu JSON como una cadena:

 ByteArrayEntity entity = new ByteArrayEntity(bodyAsJson.getBytes("UTF-8")); client.post(context, newUrl, entity, "application/json", responseHandler); 

Donde el cliente es AsyncHttpClient y bodyAsJson es un JSON dentro de una cadena

 yourJsonObj.toString() 

Podemos construir el formato json anterior usando la clase JsonObject que está disponible con javax.json-1.0.2.jar,

 JsonObject jo = Json.createObjectBuilder() .add("data", 2376845) .add("data2", 12545) .add("array",Json.createArrayBuilder() .add(Json.createObjectBuilder().add("data3", "2013-01-10").add("data4", 23532).build()) .add(Json.createObjectBuilder().add("data3", "2013-01-11").add("data4", 523526).build())) .build(); 

Después de construir el formato json

  AsyncHttpClient client=new AsyncHttpClient(); Request request = client.preparePost(your host URL). setHeader("Content-Type","application/json"). setHeader("Content-Length", ""+jo.toString().length()).setHeader("Authorization","Basic fgfgfgfhfhtetet="). setBody(jo.toString()).build(); ListenableFuture<Response> r = null; //ListenableFuture<Integer> f= null; try{ r = client.executeRequest(request); System.out.println(r.get().getResponseBody()); }catch(IOException e){ } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } 

Si usted requirió la autentificación básica que usted necesita agregar una llave que sea la combinación del username: contraseña codificada con base64 al jefe, si no lo deja en este caso lo agregué al jefe

Sobre todo esto funcionará para usted

Nota: AsyncHttpClient, las clases de ListenableFuture están disponibles en async-http-client-1.7.5.jar

  • Android Retrofit | Publicar objeto personalizado (enviar json al servidor)
  • Envío de solicitud de publicación HTTP con Android
  • Solicitud de publicación de Android WebView con encabezados personalizados
  • Enviar cookies con http post android
  • Respuesta HTML desde el servidor
  • Cómo proteger url webservice en el archivo android apk
  • Transferencia de JSON al servidor en la solicitud de correo
  • Solicitud de publicación de Android en IOS
  • HTTPURLConnection - POST multipart / form-data con archivo grande con FixedLengthStreamingMode
  • No se puede tomar el progreso en la carga de archivos POST HTTP (Android)
  • Cómo interceptar datos POST en una vista web de android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.