Este documento proporciona información sobre cómo conectar aplicaciones Android a servicios de Internet utilizando REST. Explica conceptos clave como REST, librerías como Retrofit para realizar llamadas HTTP, y el proceso de diseñar una aplicación que se conecta a una API. También incluye ejemplos de código para ilustrar el uso de Retrofit para realizar solicitudes a un servicio RESTful y manejar respuestas.
6. AGENDA
▸ ¿Qué cosas son importantes en una app?
▸ Servicios de internet
▸ REST
▸ Librerías
▸ Tools
▸ Diseñar nuestra app teniendo en cuenta todo esto
▸ Proceso propio al desarrollar una app que se conecta a una API
▸ Show me the code!
▸ Referencias y links de interés
7. ¿QUÉ ES IMPORTANTE EN UNA APP?
EXPERIENCIA DE USUARIO
APIDE NUESTRA PARTE SÓLO PODEMOS LIDIAR CON EL CLIENTE
MANEJO DE LA UI- BUEN MANEJO DEL THREAD DE UI
- EVITAR FUGAS DE MEMORIA (MEMORY LEAKS)
- EVITAR APP CRASHES
9. REST
▸ Definida en el año 2000 como tesis doctoral por Roy
Fielding
▸ Interfaz entre sistemas que utilice directamente HTTP
para obtener datos o indicar la ejecución de
operaciones sobre los datos, en cualquier formato (XML,
JSON, etc).
▸ No son necesarias abstracciones adicionales de los
protocolos basados en patrones de intercambio de
mensajes (SOAP)
Fuente: https://es.wikipedia.org/wiki/Representational_State_Transfer
10. REST
▸ Verbos HTTP
▸ GET : Read
▸ POST : Insert
▸ PUT : Update
▸ DELETE : Remove
▸ Hypermedia HATEOS
▸ Énfasis en el recurso y no en la
operación
▸ No usar verbos:
▸ /getUsers ——> GET /users
▸ /addUser ——> POST /users
▸ Usar nombres en plural
▸ Ejemplo: GET /users/13
24. IMPLEMENTACIÓN RÁPIDA DE API RESTFUL PARA DEMO
HTTPS://USERS-GDGOURENSE.FIREBASEIO.COM/
Como funciona Firebase como API Rest: https://www.firebase.com/docs/rest/api/
27. PATRÓN REPOSITORIO
Use a repository to separate the logic that
retrieves the data and maps it to the entity
model from the business logic that acts on the
model. The business logic should be agnostic
to the type of data that comprises the data
source layer. For example, the data source layer
can be a database, a SharePoint list, or a Web
service.
Fuente: https://msdn.microsoft.com/en-us/library/ff649690.aspx
28. TEXTO
PROCESO PROPIO DE APP QUE SE CONECTA A API
▸ Dos caminos
▸ Empezamos por la interfaz??
▸ Creación a partir de definición de servicio de datos
dummy
▸ Empezamos por la conexión al servicio?
▸ Unit testing