taller android party: automatic api rest + notificaciones push
DESCRIPTION
Taller en el Android Party 2014 sobre Automatic API REST y Notificaciones PUSHTRANSCRIPT
![Page 1: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/1.jpg)
Automatic API REST+
Notificaciones PUSHAlejandro Esquiva Rodríguez
(@alex_esquiva)
Automatic API REST: Simplifica tus consultas by Geeky Theory is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
![Page 2: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/2.jpg)
Objetivo del Taller
![Page 3: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/3.jpg)
Herramientas que vamos a usar
• http://androidparty.geekytheory.com/material.rar• http://www.easyphp.org/save-easyphp-devservervc9-latest.php
![Page 4: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/4.jpg)
Automatic API REST
![Page 5: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/5.jpg)
¿Qué es una API REST?
API
• Una API representa una interfaz de comunicación entre componentes de software.
![Page 6: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/6.jpg)
¿Qué es una API REST?
REST
• Transferencia de estado Representacional.• Está orientado a transferencia de recursos.• Arquitectura cliente/servidor sin estado: ni el cliente ni el servidor
necesitan recordar ningún estado de las comunicaciones entre mensajes.
• Hace uso del protocolo HTTP.• Cada recurso es únicamente accesible a través de su URI.• Los datos son generalmente ofrecidos en formato JSON o XML .• Control de errores.
![Page 7: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/7.jpg)
¿Qué es una API REST?
Cada recurso es accesible a través de una única URI.
URIs
![Page 8: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/8.jpg)
¿Qué es una API REST?
El cliente hace peticiones al servidor usando el protocolo HTTP. El servidor le responde a través del mismo protocolo.
Arquitectura Cliente - Servidor
![Page 9: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/9.jpg)
¿Qué es una API REST?
• GETPedir información a un recurso.
• POSTCreate: Orden para insertar información.Update: Modificar información.
• PUTCreate: Orden para insertar información.Update: Modificar información.
• DELETEEliminar información del servidor.
Operadores API REST
![Page 10: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/10.jpg)
¿Qué es una API REST?
JSON
Formatos de salida
XML
![Page 11: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/11.jpg)
¿Qué es una API REST?
Ejemplos de APIs
![Page 12: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/12.jpg)
Android y APIs
Necesidad
• Base de datos externa.
• Interacción de datos entre servidor y cliente.
• Aplicaciones multiplataforma
![Page 13: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/13.jpg)
Automatic API REST
¿Qué es?• Una herramienta Open Source.
• Crea una completa API de tu base de datos MySQL o MariaDB.
• Proporciona una red automática de enlaces que proporcionan la información en JSON o XML.
• Intercambia información entre distintos lenguajes de programación.
• Panel de control para gestionar la privacidad de las tablas o campos de la base de datos.
http://AutomaticApiRest.info
![Page 14: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/14.jpg)
Automatic API REST
Especificaciones
• Creación de enlaces únicos para cada recurso (URIs)
• Gestión de privacidad de las tablas.
• No altera la estructura de la base de datos.
• Obtener datos (GET) en formato JSON y XML.
• Insertar datos (POST) a través de enlaces únicos.
• Modificar Datos (POST) a través de enlaces únicos.
• Gestión de errores.
![Page 15: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/15.jpg)
Automatic API REST
Modo de empleo• Aplicación de servidor
1. Instalar Automatic Api Rest en un servidor con soporte para PHP y MySQL.
2. Configurar el archivo config.php con los credenciales del servidor y apuntar a nuestra base de datos.
3. Entrar en el panel de control con los credenciales que hemos indicado en el archivo config.php
4. Indicar que tablas y campos son privados, deshabilitando la opción de obtener/añadir/modificar/eliminar datos.
![Page 16: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/16.jpg)
Automatic API REST
Modo de empleo (GET)
• Aplicación de cliente (java, Python, c++,…)
1. Seleccionar los enlaces que queremos consultar desde el panel de control de Automatic API Rest.
2. Obtener el json/xml de la petición.
3. Parsear datos obtenidos.
![Page 17: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/17.jpg)
Automatic API REST
Modo de empleo (POST)
• Aplicación de cliente (java, Python, c++,…)
1. Seleccionar el enlace donde queremos enviar la información.
2. Preparamos un json o xml (también se puede insertar desde parámetros POST) con los datos a insertar o modificar.
3. Enviar la petición
4. Obtenemos la respuesta con los resultados de la consulta
![Page 18: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/18.jpg)
Cuando Usar Automatic API REST
• ¿Tienes una aplicación que necesite obtener datos de una base de datos externa?
• ¿Tienes una aplicación que sea multiplataforma?
• ¿Quieres ahorrar tiempo en el desarrollo de una API?
![Page 19: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/19.jpg)
Ejemplo de uso: Base de datos
Descarga de la base de datos de prueba.http://dev.mysql.com/doc/index-other.html
• Base de datos: World• Número de tablas: 3• city: 4079 filas• country: 239 filas• countrylanguage: 991 filas
city
countrylanguage
country
![Page 20: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/20.jpg)
Ejemplo de uso: Instalación
1. Descargamos Automatic API REST.
2. Extraer el zip y subir todo el directorio a la raíz principal de vuestro servidor.
3. Abrir el archivo config.php y rellenar todos los campos con los credenciales de la base de datos.
4. Visitar
http://tudominio.com/AutomaticaApiRest
![Page 21: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/21.jpg)
Ejemplo de uso: Config.php
• SERVER: localhost
• USER: Usuario de la base de datos
• PASS: Contraseña del usuario de la base de datos
• DB: Base de datos a la que queremos apuntar
• USERADMIN: cuenta de administrador de AAR
• PASSADMIN: contraseña de administrador
![Page 22: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/22.jpg)
Ejemplo de uso: Log In
http://tudominio.com/AutomaticaApiRest
![Page 23: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/23.jpg)
Ejemplo de uso: Panel de Control
![Page 24: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/24.jpg)
Ejemplo de uso: Navegación
Home: Enlace al inicio del panel de control.
Documentation: Documentación del proyecto. [En Construcción]
Black List: Gestión de las tablas privadas.
GitHub: Enlace al proyecto en GitHub
Close: Cierre de la sesión.
![Page 25: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/25.jpg)
Ejemplo de uso: Gestión de tablas
Table Name: Nombre de la tabla de la base de datos.
API Link: Dirección única del recurso donde vamos a consultar todos los datos en formato JSON de la tabla.
Items: Número de Items que tiene la tabla.
Show Table: Mostrar una tabla con los datos de la tabla seleccionada.
Privacity: Esta casilla muestra si la tabla es pública o privada, en caso de que sea privada no se podrá ni consultar ni gestionar la tabla.
![Page 26: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/26.jpg)
Ejemplo de uso: Gestión de campos
Column: Nombre del campo de la tabla seleccionada.
API Link: Enlace que genera un JSON con toda la información del campo encapsulado.
Show Table: Ver una tabla con los datos del campo seleccionado.
Select: Consulta personalizada (Ver siguiente punto).
Privacity: Privacidad del campo.
![Page 27: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/27.jpg)
Ejemplo de uso: Consulta Personalizada
Observamos que podemos personalizar la consulta de datos, si por ejemplo sólo nos interesa el ID y el nombre de los últimos 5 registros de la tabla city ordenados por el campo Name generamos un enlace que exactamente nos ofrezca eso.
![Page 28: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/28.jpg)
Ejemplo de uso: Black List
La Black List muestra todos las tablas y columnas que no permitimos ni obtener ni insertar datos. Desde esta misma tabla podemos eliminar los registros de la Black List.
![Page 29: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/29.jpg)
Ejemplo de uso: Salida JSON
{"data":[{"0":"\u00b4s-Hertogenbosch","Name":"\u00b4s-Hertogenbosch","1":"Noord-Brabant","District":"Noord-Brabant","2":"129170","Population":"129170"},{"0":"\u0160umen","Name":"\u0160umen","1":"Varna","District":"Varna","2":"94686","Population":"94686"},{"0":"\u0160t\u0161olkovo","Name":"\u0160t\u0161olkovo","1":"Moskova","District":"Moskova","2":"104900","Population":"104900"},{"0":"\u0160ostka","Name":"\u0160ostka","1":"Sumy","District":"Sumy","2":"90000","Population":"90000"},{"0":"\u0160iauliai","Name":"\u0160iauliai","1":"\u0160iauliai","District":"\u0160iauliai","2":"146563","Population":"146563"}],"dbInfo":["Name","District","Population"]}
![Page 30: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/30.jpg)
Ejemplo de uso: Aplicación Cliente - Java
Obtener información en JAVA
• Creación de una clase para la obtención y gestión de datos.
• Creación de métodos necesarios para parsear JSONs y obtener los datos a través de un enlace dado.
![Page 31: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/31.jpg)
Ejemplo de uso: Aplicación Cliente - Java
getJSON
• Obtiene un JSON a través de un enlace dado
![Page 32: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/32.jpg)
Ejemplo de uso: Aplicación Cliente - Java
getDataStringArray
• Hace uso de la librería json-simple-1.1.1.jar
• Devuelve un array multidimensional de Strings con la información del JSON
![Page 33: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/33.jpg)
Ejemplo de uso: Aplicación Cliente - Java
setData
![Page 34: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/34.jpg)
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 1: Obtención de un dato
![Page 35: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/35.jpg)
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 2: Inserción de datos
![Page 36: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/36.jpg)
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 3: Código de errores [Invalid Parameters]
![Page 37: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/37.jpg)
Ejemplo de uso: Aplicación Cliente - Java
Ejemplo 4: Código de errores [Unauthorized]
Campo privada: CountryCode
![Page 38: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/38.jpg)
Automatic API REST (alpha/beta)
Actualmente Automatic API REST es un projecto alpha, falta implementar mejoras y crear una documentación para cada tipo de lenguaje.
![Page 39: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/39.jpg)
Líneas Futuras de AAR
• Documentación de cada plataforma
• Creación de librerías para cada plataforma que facilite el uso de AAR
• Implementación de seguridad con OAUTH 2.0
• Dar soporte a consultas complejas, WHERE, INNER, etc.
• Escoger permisos de cada tabla/campo, elegir permisos de cada campo.
• Gestión óptima de URIs
![Page 40: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/40.jpg)
Proyecto Open Source
• Automatic API REST es un proyecto Open Source, todo el mundo es bienvenido a colaborar.
• Para colaborar, enviar directamente vuestros pull request o enviar un correo a [email protected]
![Page 41: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/41.jpg)
Notificaciones PUSH
![Page 42: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/42.jpg)
Ecosistema
1. El dispositivo Android envía el ID de aplicación de GCM.
2. El servicio GCM devuelve un Id de registro único por aplicación y dispositivo.
3. Enviamos este id a nuestra aplicación de servidor.
4. Almacenamos el id en la base de datos externa.
5. Si queremos enviar una notificación, obtenemos el id de la base de datos y enviamos el mensaje a GCM.
6. GCM enviará el mensaje a nuestra aplicación.
![Page 43: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/43.jpg)
Objetivo del Taller
![Page 44: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/44.jpg)
Pasos a seguir
1. Registrarse en Google Cloud Messaging (GCM) desde Google API Console y obtener el Sender ID y la API key.
2. Crear una base de datos donde almacenaremos los ids de los usuarios.
3. Instala Automatic Api Rest (Opcional) y apuntar a la base de datos creada.
4. Crear una aplicación de servidor donde este a la escucha de ordenes para enviar notificaciones PUSH.
5. Crear una aplicación de cliente (Android) para obtener los Ids y almacenarlas en la base de datos y poder enviar notificaciones.
![Page 45: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/45.jpg)
Obtener Sender ID y API Key
1. https://code.google.com/apis/console
![Page 46: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/46.jpg)
Obtener Sender ID y API Key
2. Obtener Sender ID:
![Page 47: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/47.jpg)
Obtener Sender ID y API Key
3. Activar API
![Page 48: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/48.jpg)
Obtener Sender ID y API Key
4. Activar Google Cloud Messaging for Android
![Page 49: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/49.jpg)
Obtener Sender ID y API Key
5. Ir a Credenciales
![Page 50: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/50.jpg)
Obtener Sender ID y API Key
6. Generar API Key
![Page 51: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/51.jpg)
Creación de una base de datos externa
![Page 52: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/52.jpg)
Instalamos Automatic API REST
![Page 53: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/53.jpg)
Crear una aplicación de servidor para enviar Notificaciones
sendNotification.php
![Page 54: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/54.jpg)
Aplicación Android
![Page 55: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/55.jpg)
Aplicación Android
Librerias
https://dl-ssl.google.com/android/repository/gcm_r03.zip
GCM
https://json-simple.googlecode.com/files/json-simple-1.1.1.jar
json-simple
![Page 56: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/56.jpg)
Aplicación Android
AndroidManifest.xml
![Page 57: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/57.jpg)
Aplicación Android
Config.java
![Page 58: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/58.jpg)
Aplicación Android
AutomaticApiRestClient.java
![Page 59: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/59.jpg)
Aplicación Android
Controller.java
![Page 60: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/60.jpg)
Aplicación Android
RegisterActivity.java
![Page 61: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/61.jpg)
Aplicación Android
ListviewActivity.java
![Page 62: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/62.jpg)
Aplicación Android
SendMessageActivity.java
![Page 63: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/63.jpg)
Aplicación Android
GCMIntentService.java
![Page 64: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/64.jpg)
Referencias
• Tutorial sobre Notificaciones PUSH• http://androidexample.com/Android_Push_Notifications_using_Google_Cloud_Messaging_GCM/index.
php?view=article_discription&aid=119&aaid=139
• Serie de tutoriales sobre JSON• http://geekytheory.com/category/geeky-theory-2/tutoriales-2/programacion-web/json/
• Tutorial sobre Automatic Api Rest• http://geekytheory.com/automatic-api-rest/
• Serie de tutoriales sobre JAVA – PHP –MYSQL• http://geekytheory.com/category/java-php-mysql/
• Tutoriales Sobre PHP & MySQL• http://geekytheory.com/category/geeky-theory-2/tutoriales-2/programacion-web/php-mysql/
![Page 65: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/65.jpg)
Gracias
Alejandro Esquiva Rodriguez
![Page 66: Taller Android Party: Automatic API REST + Notificaciones PUSH](https://reader036.vdocument.in/reader036/viewer/2022062404/553addac4a7959727a8b45e7/html5/thumbnails/66.jpg)
/aesquiva
http://geekytheory.com
@alex_esquiva @GeekyTheory
http://AutomaticApiRest.info
/geekytheory