Este documento presenta la agenda de un evento DevFest que se llevará a cabo los días 27 y 28 de Octubre de 2012 en la Facultad de Medicina de la Universidad San Martín de Porres en Lima. La agenda incluye presentaciones sobre el desarrollo de aplicaciones Android que consumen APIs alojadas en Google App Engine utilizando Google Cloud Endpoints.
4. Datos de expositor: David Motta Baldarrago
Mail: mdavid20@gmail.com
G+: +DavidMotta
Twitter: @dmotta
Construyendo una App Android
sobre la Nube App Engine
(Google Cloud EndPoints/Messaging)
5. Introduccion a Google Cloud EndPoint David Motta (Peru)
Arquitectura de una solución con EndPoints David Motta (Peru)
Pre Requisitos para iniciar el codeLab. David Motta (Peru)
Pasos para implementar servicios Rest con EndPoint David Motta (Peru)
David Motta (Peru)
David Motta (Peru)
Agenda
#devfestlimahttp://devfestlima.gdglima.pe
6. Introduccion a Google Cloud EndPoints
● Fácil de crear una API escalable y alojado en App Engine, aprovechando la
infraestructura de Google API.
● Permite definir lógica de negocio en App Engine y acceder a traves del API
(REST) desde múltiples plataformas Android, iOS y JS.
● Tiene muchas de las mismas características y herramientas de los APIs de
Google (Google Maps, Plus, Docs, Drive,etc), y esto lo hace muy fácil de
usar.
○ Soporte OAuth 2.0.
○ Soporte de escalabilidad provista por AppEngine.
○ APIs Console, manejo de tu api.
○ APIs Explorer, listar los servicios(Rest) y probarlos desde la web.
#devfestlimahttp://devfestlima.gdglima.pe
7. Arquitectura de una solución con EndPoints
#devfestlimahttp://devfestlima.gdglima.pe
9. Que vamos a construir?
● En este lab desarrollaremos lo siguiente:
○ 1 API que realice (crear, obtener, y listar) datos de un smartphone .
○ Desarrollar una App Android que consuma este API.
#devfestlimahttp://devfestlima.gdglima.pe
10. Pre Requisitos para iniciar el codeLab.
● Se necesita que estés familiarizado e Instalado App Engine SDK y Eclipse.
● Tener la ultima version de Google Plugin for Eclipse
● Instalar Android SDK
● Instalar ADT Plugin for Eclipse
● Android 2.3 o mayor, Instalar Android SDK Manager
#devfestlimahttp://devfestlima.gdglima.pe
11. Paso 1, Crear un proyecto App Engine
● Tener el entorno listo, haber cumplido los pre requisitos indicados.
● En eclipse, File> New> Google> seleccionar Web Application Project>
Next.
● Ingresar en Project name: AppBackEnd , Package: pe.gdglima.devfestlima.
appbackend, check en Use Google App Engine
● Finalmente clic en finish.
● Clic derecho en la aplicación Run As> Web Application
● Verificar que la aplicación este corriendo en http://localhost:8888/
● Regresar a eclipse y parar la aplicación.
#devfestlimahttp://devfestlima.gdglima.pe
12. Paso 2, Crear una clase Entidad.
● Clic derecho en el proyecto > new > Class.
● Ingresar los valores en package: pe.gdglima.
devfestlima.appbackend.bo, Name: SmartPhone,
luego clic en finish.
● Crear atributos de la clase y generar sus
métodos de acceso getter/setter.
#devfestlimahttp://devfestlima.gdglima.pe
13. Paso 3, Convertir en una Clase Persiste
● Usar las anotacion que AppEngine provee:
○ @PersistenceCapable
○ @PrimaryKey
○ @Persistent
#devfestlimahttp://devfestlima.gdglima.pe
14. Anotaciones en EndPoint
● A través de anotaciones le diremos al SDK de como deben responder a los
request del API.
○ @Api: anotacion que indica que la clase es un API.
○ @ApiMethod: anotacion que indica al metodo que es un método del API.
○ @Named: anotacion que indica al argumento del metodo, que es el
nombre del parametro en un Request.
#devfestlimahttp://devfestlima.gdglima.pe
15. Paso 4, Crear la clase EndPoint
● Clic derecho en la clase SmartPhone.java > Google > Generate Cloud
Endpoint Classs.
● Abrimos la clase generada SmartPhoneEndpoint.java.
● Verificar la anotacion @Api y añadir la version del api. @Api(name =
"smartphoneendpoint", version="v1").
● Verificamos que nos género métodos CRUD y listar.
#devfestlimahttp://devfestlima.gdglima.pe
16. Paso 5, Implementar los servicios del API
● Implementar el registrarSmartPhone, obtenerSmartPhone y
listarSmartPhones. Usar las anotaciones @ApiMethod y @Named
● Añadir las anotación al registrar:
@ApiMethod(httpMethod = "POST", name = "smartphoneendpoint.insert", path =
"smartphoneendpoint/insert")
● Añadir las anotación al obtener:
@ApiMethod(httpMethod = "GET", name = "smartphoneendpoint.get", path =
"smartphoneendpoint/get/{id}")
● Añadir las anotación al listar:
@ApiMethod(httpMethod = "GET", name = "smartphoneendpoint.list", path =
"smartphoneendpoint/list")
#devfestlimahttp://devfestlima.gdglima.pe
17. Paso 6, Volver a correr la Aplicacion
● Clic derecho en la aplicación Run As> Web Application
● Verificar que la aplicación este corriendo en http://localhost:8888/
● verificar el servicio listar http://localhost:
8888/_ah/api/smartphoneendpoint/v1/smartphoneendpoint/list
http://localhost:8888/_ah/api/smartphoneendpoint/v1/smartphoneendpoint/get/1
#devfestlimahttp://devfestlima.gdglima.pe
19. Google DevRel LatAm South Region
¡PARTICIPA DE LA COMUNIDAD EN
ESPAÑOL!
1. Academic Developer TG - ADTG
2. Envía tus artículos a LookThisCode.
3. Participa de Developers Live en Español.