Instructor: Rodrigo Ivn Fonseca Daza
Hemos aprendido a manipular interfaces grficas
en Android, y crear elementos dinmicos (botones,
listas, galeras, etc.)
Tambin hemos aprendido a manipular el API de
Google Maps, para sealar lugares usando
marcadores
Hemos manipulado algunos dispositivos
embebidos en el telfono/tablet (localizador gps,
cmara)
Finalmente, hemos logrado guardar informacin de
la aplicacin a nivel local, por medio de SQLite y
SharedPreferences
A partir de ahora, la informacin la
obtendremos desde servicios web.
Informacin de lugares, incluyendo localizacin,
descripcin, imgenes, ofertas
Antes, debemos definir un mecanismo de
comunicacin entre los servidores y el
dispositivo mvil.
SOAP
REST XML
REST JSON
XML - RPC
Por su simplicidad, utilizar el formato JSON
para la publicacin de los Web Services para
la aplicacin.
Se puede consultar con HTTP requests
Es fcil de probar
Hay libreras para procesarlo fcilmente
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
Libreras ms tradicionales para el
procesamiento de cadenas JSON
Fciles de usar
Flexibles
Aunque no son precisamente Android
JavaScript Object Notation
Es un formato de intercambio de datos
Ligero
Fcil de leer
{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}}
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"}]}
La librera [Link] permite manejar cadenas
JSON al convertirlas en objetos JSON
(JSONObject)
JSONObject object =
new JSONObject(jsonString);
Dentro de un objeto JSON se pueden obtener
otros objetos JSON
JSONObject lugar =
[Link](lugar);
Se pueden obtener arreglos JSON de un
objeto JSON
JSONArray lugares = new
JSONArray([Link](lugares));