tutoría

21
Introducción al desarrollo de videojuegos en Google Android Nicolás Mery U. [email protected] twitter: @NicolasMery http://www.linkedin.com/in/ njmery

Upload: peterbuck

Post on 29-Nov-2014

940 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: tutoría

Introducción al desarrollo de videojuegos en Google Android

Nicolás Mery U. [email protected]

twitter: @NicolasMeryhttp://www.linkedin.com/in/njmery

Page 2: tutoría

Contenido

• Origen de Android• Arquitectura• Demo – Recorrido Android SDK – Un Game Loop en Android

• Discusión

Page 3: tutoría

“Nuestra misión es organizar toda la información del mundo”

3

Page 4: tutoría

“The Open Handset Alliance is a group of more than 30 technology and mobile companies who have come together to accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. Together we have developed Android™, the first complete, open, and free mobile platform. We are committed to commercially deploy handsets and services using the Android Platform in the second half of 2008.”

4

Page 5: tutoría

“Android is a software stack for mobile devices that includes an operating system, middleware and key applications” 5

Page 6: tutoría

Android Stack

Page 7: tutoría

Que aprendimos

• Android anunciado el 5 de noviembre 2007• Google es parte de la OHA cuya misión es acelerar el

desarrollo móvil.• La OHA piensa lograr esto mediante Android• Android Stack:– Sistema operativo basado en Linux– Librerías (Open GL-ES, SQLite, etc)– Runtime Android– Una DVM por cada aplicación– Todas las aplicaciones tienen la misma prioridad

Page 8: tutoría

Componentes Android• Existen 4 tipos de componentes en Android– Activity– Service– Broadcast receiver– Content provider

• Cada componente puede ser iniciado independientemente.

• Cada componente puede ser reutilizado por otras aplicaciones.

• Componentes son configurados en el archivo AndroidManifest.xml

Page 9: tutoría

Componentes Android

• El componente activity – Se comunica con el jugador– Para esto tiene una jerarquía de Views – Cada View es un rectangulo en la pantalla y puede

recibir input del usuario– Las Views se pueden declarar en un XML o

programáticamente.– Similar a un MIDlet (J2ME)

Page 10: tutoría

Componentes Android

• El componente service– Corre en el fondo sin interfaz– Para usarlo uno debe hacer Bind del service.– Uno usa la interfaz expuesta por el service– Ej: el reproductor de música.

Page 11: tutoría

Componentes Android

• El componente broadcast receiver– Recibe notificaciones y reacciona a ellas– Corre en el fondo sin interfaz– Ej: en un juego se podría usar para grabar el

estado y llevar el juego a pausa en caso de que se quede sin batería o el jugador reciba una llamada.

Page 12: tutoría

Componentes Android

• El componente content provider– Manera estándar de proveer a una aplicación de

contenido– Corre en el fondo sin interfaz– Guarda datos en el sistema de archivos, en una

base de datos SQLite, etc– Uno puede definir sus propios content providers.– Ej: Android viene con varios content providers

definidos. Por ejemplo hay uno que nos permite acceder a los contactos del teléfono.

Page 13: tutoría

Que aprendimos

• Las aplicaciones en Android son basadas en componentes

• Cada componente puede ser reutilizado por otras aplicaciones

• Hay 4 tipos de componentes:– Activity encargado de la UI– Service encargado de procesos independientes en el fondo– Broadcast receiver encargado de reaccionar a

notificaciones– Content provider encargado de manejar los datos

persistentes de la aplicación

Page 14: tutoría

Requisitos Demo

• Android SDK– http://developer.android.com/sdk/1.5_r3/installin

g.html

• Recomendado hacer HelloWorld Android– http://developer.android.com/guide/tutorials/

hello-world.html

Page 15: tutoría

Demo

• Recorrido por Android SDK• Un Game Loop en Android (LunarLander)

Page 16: tutoría

Que aprendimos• Android SDK incluye varias aplicaciones de ejemplo

– Directorio /samples del SDK – Léanlas!– Es buen código, bien comentado

• Sistema de Debug es potente– Tags en logs– Logs de Sistema operativo

• AVDs– Parecidos a los Device Profiles usados comunmente en J2ME– Tarjeta SD

• Consola del emulador– telnet localhost <console-port>– SMS, cambiar configuraciones en Runtime, etc.

• Instalar APK– adb install XXX.apk– http://www.androidcan.com/

Page 17: tutoría

Referencias• http://developer.android.com/guide/basics/what-is-

android.html• http://developer.android.com/sdk/1.5_r3/

installing.html• http://developer.android.com/guide/tutorials/hello-

world.html• http://developer.android.com/guide/topics/

providers/content-providers.html• http://www.androidcan.com/ (algunos APK gratis)• http://www.secondgeargames.com/archipelago (otro

apk gratis)

Page 18: tutoría

¿Preguntas?

Page 19: tutoría

Eso sería todo. ¡Gracias!

Page 20: tutoría

Anexos:Ciclo de vida de una activity

Page 21: tutoría

Anexos:Ciclo de vida de un service