La Red de Conocimientos Pedagógicos - Currículum vitae - Cómo enviar json al servidor usando volley en android

Cómo enviar json al servidor usando volley en android

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 de Android

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

4. terminal de servidor, uso el lado del servidor creado por ssh, que puede aceptar publicaciones u obtener solicitudes de la recepción y luego devolver datos json (este ejemplo demuestra principalmente cómo enviar publicaciones y recibir solicitudes en Android)

6. A continuación hay algunos pasos clave, que son diferentes a escribir una web localmente:

R: La URL en el lado de Android debe escribirse con la IP del lado del servidor:

De la siguiente manera:

String url = ".example.xiaoyuantong;

importar java.util.HashMap;

importar java.util.Iterator;

importar org.json .JSONException;

importar org.json.JSONObject;

importar android.app.Activity;

importar android.os.Bundle;

importar android.util.Log;

importar android.widget.TextView

importar com.android.volley.Request;

importar com.android .volley.RequestQueue;

importar com.android.volley.Response;

importar com.android.volley.VolleyError

p>

importar com.android.volley .toolbox.JsonObjectRequest;

importar com.android.volley.toolbox.Volley;

/** * Demostración */

clase pública MainActivity extiende Actividad {

SolicitudQueue privada requestQueue

@Override

protected void onCreate(Bundle saveInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

}

private void init() {

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

requestQueue = Volley.newRequestQueue(this);

getJson();

textView.setText("hola");

}

privado void getJson(){

String url = ".example.xiaoyuantong;

importar java.util.HashMap;

importar java.util.Map;

importar org.json.JSONException ;

importar org.json.JSONObject;

importar com.android.volley.Request;

importar com.android.volley.RequestQueue;

importar com.android.volley.Response;

importar com.android.volley.VolleyError;

importar com.android.volley.toolbox.JsonObjectRequest;

importar com.android.volley.toolbox.Volley;

importar android.os.Bundle;

importar android.app.Activity;

importar android.util.Log;

importar android.view.Menu;

importar android.widget.TextView

la clase pública PostActivity extiende la actividad {

importar android.widget.TextView;

p>

Solicitud de solicitud privadaQueue;

@Override

Protect void onCreate (Paquete guardadoInstanceState) ) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_post); init ();

}

@Override

public boolean onCreateOptionsMenu( Menú menú) { // Inflar el menú; esto agrega elementos a la barra de acciones si está presente. getMenuInflater().inflate(R.menu.post, menu return true;

}

p>

private void init() {

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

requestQueue = Volley.newRequestQueue(this);

getJson();

textView setText("holapost");

}

privado void getJson(){

Cadena url = "http://192.168.20.1:8080/xiaoyuantong /userAction!reg.action"; JsonObjectRequest jsonObjectRequest;

JSONObject() ; try { jsonObject.put("name", "张三"); jsonObject.put("sex", "女"); catch (JSONException e1) { // TODO Bloque de captura generado automáticamente e1. printStackTrace(); }

//Imprime los datos de la publicación que la recepción enviará en segundo plano

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

//Enviar solicitud de publicación try{

jsonObjectRequest = new JsonObjectRequest(

Request.Method.POST, url, jsonObject,

new Response.Listener< JSONObject>() {

@Override

public void onResponse(respuesta JSONObject) {

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

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

}

}, nueva Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError arg0) {

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

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

}

});

requestQueue.add(jsonObjectRequest } catch (); Excepción e) { e. printStackTrace(); System.out.println(e + "" } requestQueue.start(); p>8. En Android puedes ver la solicitud de impresión en el logcat

(El rojo muestra los datos que solicité en segundo plano)

A veces el logcat no puede mostrar los datos. tal vez el mensaje haya sido filtrado, puede hacer clic en el "signo menos" a la izquierda para eliminar el filtro

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

9. El seguimiento Para complementar la parte de análisis de datos json y la transición a la nube móvil, lo anterior es solo un ejemplo simple de respuesta de solicitud basada en http en modo c/s.