210 likes | 353 Views
Introducción al desarrollo de videojuegos en Google Android. Nicolás Mery U. njmery@gmail.com twitter : @ NicolasMery http://www.linkedin.com/in/njmery. Contenido. Origen de Android Arquitectura Demo Recorrido Android SDK Un Game Loop en Android Discusión.
E N D
Introducción al desarrollo de videojuegos en Google Android Nicolás Mery U. njmery@gmail.com twitter: @NicolasMery http://www.linkedin.com/in/njmery
Contenido • Origen de Android • Arquitectura • Demo • Recorrido Android SDK • Un Game Loop en Android • Discusión
“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.”
“Android is a software stack for mobile devices that includes an operating system, middleware and key applications”
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
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
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)
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.
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.
Componentes Android • El componente contentprovider • 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 contentproviders. • Ej: Android viene con varios contentproviders definidos. Por ejemplo hay uno que nos permite acceder a los contactos del teléfono.
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
Requisitos Demo • Android SDK • http://developer.android.com/sdk/1.5_r3/installing.html • Recomendado hacer HelloWorld Android • http://developer.android.com/guide/tutorials/hello-world.html
Demo • Recorrido por Android SDK • Un Game Loop en Android (LunarLander)
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/
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)