json

13
Instructor: Rodrigo Iván Fonseca Daza

Upload: david-vanegas

Post on 11-Feb-2016

2 views

Category:

Documents


0 download

DESCRIPTION

Material Android

TRANSCRIPT

Page 1: Json

Instructor: Rodrigo Iván Fonseca Daza

Page 2: Json

Hemos aprendido a manipular interfaces gráficas en Android, y crear elementos dinámicos (botones, listas, galerías, etc.)

También hemos aprendido a manipular el API de Google Maps, para señalar lugares usando marcadores

Hemos manipulado algunos dispositivos embebidos en el teléfono/tablet (localizador gps, cámara…)

Finalmente, hemos logrado guardar información de la aplicación a nivel local, por medio de SQLite y SharedPreferences

Page 3: Json

A partir de ahora, la información la obtendremos desde servicios web. ◦ Información de lugares, incluyendo localización,

descripción, imágenes, ofertas…

Antes, debemos definir un mecanismo de comunicación entre los servidores y el dispositivo móvil.

Page 4: Json

SOAP

REST – XML

REST – JSON

XML - RPC

Page 5: Json

Por su simplicidad, utilizaré el formato JSON para la publicación de los Web Services para la aplicación. ◦ Se puede consultar con HTTP requests

◦ Es fácil de probar

◦ Hay librerías para procesarlo fácilmente

Page 6: Json

Por fortuna, Android tiene implementado un lector de cadenas JSON…

… ¡que no vamos a utilizar! ◦ Tuve una muy mala experiencia con el JsonReader

◦ Es complicado, poco flexible…

Page 7: Json

Librerías más «tradicionales» para el procesamiento de cadenas JSON ◦ Fáciles de usar

◦ Flexibles

◦ … Aunque no son precisamente «Android»

Page 8: Json

JavaScript Object Notation

Es un formato de intercambio de datos ◦ Ligero

◦ Fácil de leer

Page 9: Json

{‘llave’: ‘valor’} ◦ Ej: {‘id’: ‘1’, ‘nombre’: ‘cymetria’, ‘latitud’: ‘-74’,

‘longitud’:’14’}

El ‘valor’ puede ser otro objeto JSON ◦ Ej: {‘lugar’: {‘id’: ‘1’, ‘nombre’: ‘cymetria’, ‘latitud’:

‘-74’, ‘longitud’:’14’}}

Page 10: Json

Dentro de la cadena JSON, pueden estar arreglos de objetos JSON ◦ {"LUGARES":[{"id":"1","nombre":"Cymetria","longitud":"-

74.05328","latitud":"4.674453"},{"id":"2","nombre":"El Corral Gourmet - Parque de la 93","longitud":"-74.04909","latitud":"4.676685"}]}

Page 11: Json

La librería org.json permite manejar cadenas JSON al convertirlas en objetos JSON (JSONObject) ◦ JSONObject object =

new JSONObject(jsonString);

Page 12: Json

Dentro de un objeto JSON se pueden obtener otros objetos JSON ◦ JSONObject lugar = object.getJSONObject(‘lugar’);

Page 13: Json

Se pueden obtener arreglos JSON de un objeto JSON ◦ JSONArray lugares = new JSONArray(object.getString(‘lugares’));