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 p>
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 (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.