Red de conocimiento informático - Computadora portátil - Cómo usar volley para Android para enviar json al servidor

Cómo usar volley para Android para enviar json al servidor

1. Descargue el SDK de Android desde el sitio web oficial (yo uso Eclipse)

2. Cree un nuevo proyecto de Android:

Archivo->nuevo->. Proyecto de aplicación Android

3. Haga clic en Siguiente para crear la primera actividad principal

4. Inicie el servidor. Utilizo ssh para construir el servidor, que puede aceptar publicaciones u obtener solicitudes desde el frente. desk y luego devolver json. Data (este ejemplo demuestra principalmente cómo enviar publicaciones y obtener solicitudes en Android)

6. >

A: URL de Android que se escribirá en la IP del servidor:

Como sigue:

String url = ".example.xiaoyuantong;

importar java.util.HashMap;

importar java.util.Iterator;

importar org.app.Activity

importar android.os.RequestQueue;

importar com.android .volley.Response;

importar com.android.volley.VolleyError

importar com.android.volley.toolbox.Volley;

/*** * * Demostración*/

clase pública MainActivity extiende la actividad {

SoliciteQueue privada requestQueue

@Override

void protegido onCreate(Bundle saveInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

}.

private void init() {

TextView textView = (TextView)findViewById(R.id.textView);

requestQueue = Volley.setText("hola ");

}

private void getJson(){

String url = ".example.xiaoyuantong;

importar java. util.HashMap;

importar java.util.Map;

importar org.json.HashMap;

importar java.util.Map;@Override

public boolean onCreateOptionsMenu(Menú menú) { // Inflar el menú; esto agrega elementos a la barra de acciones si está presente.newRequestQueue(this);

getJson();

textView.setText(" holapost");

}

private void getJson(){

String url = "http://192.168 .20.1:8080/xiaoyuanantong/userAction!reg .action"; JsonObjectRequest jsonObjectRequest; JSONObject jsonObject=new JSONObject(); intente { jsonObject.put("nombre", "Zhang San "); jsonObject.put("sexo", " woman"); } catch (JSONException e1) { // TODO Bloque catch generado automáticamente e1.printStackTrace(); }

// Imprime los datos de la publicación que se enviarán desde el frontend al backend

Log.e("post",jsonObject.toString());

/ Enviar solicitud de publicación try{

jsonObjectRequest = new JsonObjectRequest(

Request.Method .POST, url, jsonObject,

nueva Response.Listener

Log.e("post",jsonObject.Listener() {

@Override

public void onResponse(respuesta JSONObject) {

// Imprime los datos json recuperados después de la solicitud

Registro. e("bbb", respuesta.toString());

}

} nueva Respuesta.ErrorListener() {

@Overr.

ide

public void onErrorResponse(VolleyError arg0) {

// System.out.println("lo siento. Error");

Log.e(" aaa", arg0.toString());

}

});

requestQueue.add(jsonObjectRequest); } catch (Exception e) { e .printStackTrace(); System.out.println(e + ""); } requestQueue.start();

8. En android logcat, puedes ver la solicitud de impresión

p >

(Los rojos son los datos que solicité en segundo plano)

A veces logcat no muestra los datos, esto puede deberse a que los mensajes están filtrados, puedes hacer clic en el "signo menos" en a la izquierda Para eliminar el filtrado

En el lado del servidor, es decir, en el lado del servidor, es decir, en otro proyecto en segundo plano creado por myeclipse, se puede obtener la solicitud:

9 Los datos JSON se agregarán más adelante. La parte de análisis y la transición a la parte de la nube móvil. Lo anterior es solo un ejemplo simple de respuesta de solicitud basado en http en modo c/s.