¿Cómo puedo enviar una lista de arreglos desde un servlet a una aplicación de Android?Enviar lista de arrays de servlet a la aplicación de Android
Respuesta
Hasta el punto, necesita convertirlo a String
en un formato estándar que luego se puede analizar y crear utilizando las bibliotecas existentes. Por ejemplo, JSON, XML o CSV, todos los cuales son formatos de cadena estandarizados e intercambiables para los que existen muchas bibliotecas de análisis/construcción en muchos lenguajes de programación.
Android tiene un analizador JSON incorporado en the org.json
package. Incluso tiene un analizador XML integrado en . No estoy seguro de si hay una biblioteca CSV integrada, pero parece que no hay ninguna. Java EE tiene en el sabor de JAXB un gran analizador XML incorporado, pero no tiene un analizador JSON incorporado. Solo las implementaciones de JAX-RS (Jersey, RESTeasy, etc.) proporcionan un analizador JSON. Si puede cambiar su servlet para que sea un servicio web JAX-RS, tendrá la ventaja de poder devolver tanto XML como JSON con un mínimo esfuerzo. Vea también Servlet vs RESTful.
Qué formato elegir depende de los únicos requisitos funcionales. Por ejemplo, ¿se supone que el servlet debe reutilizarse para otros servicios? ¿Cuáles son los clientes objetivo? Etcétera
De cualquier manera, el formato JSON es generalmente más escueto y últimamente más popular que XML, así que daré un ejemplo inicial que transfiera los datos en el formato JSON y asumiré que realmente quieres hacer con un servlet simple de vainilla en lugar de JAX-RS. Para este ejemplo, solo necesita descargar y colocar una biblioteca JSON como Gson en /WEB-INF/lib
para convertir objetos Java a JSON en el servlet.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<String> list = new ArrayList<String>();
list.add("item1");
list.add("item2");
list.add("item3");
String json = new Gson().toJson(list);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
Esto construir y devolver el List
en el siguiente formato JSON:
["item1","item2","item3"]
Esto a su vez es analizable por org.json
API de Android de la siguiente manera:
String jsonString = getServletResponseAsStringSomehow(); // HttpClient?
JSONArray jsonArray = new JSONArray(jsonString);
List<String> list = new ArrayList<String>();
for (int i = 0; i < jsonArray.length(); i++) {
list.add(jsonArray.getString(i));
}
// Now you can use `list`.
Si se trata de un modelo basado en extracción, puede enviar la solicitud HTTP GET al punto final del servlet desde su aplicación Android, y la respuesta HTTP podría ser un objeto JSON, creado a partir de una lista de matriz.
¿Hay algún ejemplo código para volver a establecer una lista de arreglos en servlet? –
- 1. Mueva datos de una lista de arrays a otra lista de arrays en C#
- 2. vector de java a la lista de arrays
- 3. buscar duplicados en la lista de arrays
- 4. enviando una lista de arrays a la actividad principal
- 5. Facturación en la aplicación de Android Lista de productos dinámicos
- 6. Buscando biblioteca de emulación Arrays Typed Arrays
- 7. Enviar un objeto serializado de Android a un servlet usando el cliente HTTP
- 8. Cómo recuperar Objetos de la lista de arrays en C#
- 9. Cómo eliminar el valor Duplicar de la lista de arrays en Android
- 10. Enviar mensaje privado a mis amigos a través de mi aplicación de Android
- 11. string-arrays de referencia en android strings.xml
- 12. Obtiene el último elemento en la lista de arrays
- 13. Enviar datos desde la aplicación de rieles a los clientes
- 14. necesito encontrar datos enteros en la lista de arrays?
- 15. Ocultar una aplicación de la lista de aplicaciones de Android
- 16. ¿Cómo puedo almacenar una lista de arrays de objetos personalizados?
- 17. No coinciden los tipos: no se puede convertir de Lista de Arrays a Lista
- 18. Cómo enviar SMS a través de la aplicación de Windows
- 19. Subir imagen de android a servlet java y guardarlo
- 20. Android Resource - Array of Arrays
- 21. Android Retardo GPS al enviar a la base de datos
- 22. ¿Cómo ordenar una lista de arrays de objetos java?
- 23. C# enviar datos desde la aplicación a la aplicación
- 24. Guardar una lista de arrays de Cadenas para preferencias compartidas
- 25. Enviar MMS desde Mi aplicación en android
- 26. obtener de Android a Google motor de la aplicación
- 27. Android: Lista de resultados de dispositivos conectados a la red
- 28. Llenar una matriz (o una lista de arrays) de SqlDataReader
- 29. Enviar el título de la canción a spotify para comenzar a jugar desde la aplicación de Android
- 30. Android enviar archivo/datos de la aplicación a través de Bluetooth a la PC/impresora/escáner/otro dispositivo
gracias !!!!!! primera vez use json –
De nada. Para obtener más información sobre el formato JSON, consulte http://json.org – BalusC
Me doy cuenta de que esto es muy antiguo, pero fue muy útil. Pensé que aún escribiría y le preguntaría sobre un problema que estoy teniendo. Estoy intentando compilar un servlet con el ejemplo de código anterior, pero obtengo un "error: no puedo encontrar el símbolo | String json = new Gson() etc" (con una flecha apuntando a Gson). No sabía qué biblioteca incluir, así que estoy usando gson-2.2.3.jar y gson-2.2.3-sources.jar ¿Qué podría estar mal? –