Hay que tener en claro los objetivos que se quieren lograr antes de escribir una línea de código.
Partamos viendo las partes principales de un juego:
1.- Administrador de ventanas
2.- Inputs de usuario (sistema de control de las entradas de los usuarios)
3.- Archivos I/O (Poder trabajar con archivos entrantes y salientes)
4.- Gráficos (Poder añadir gráficos)
5.- Sonido (Poder añadir sonido)
¿Cómo se forma una aplicación en Android?
Está conformada por múltiples componentes, algunos de los cuales se encuentran en el núcleo de la aplicación y siempre se encuentran presentes. Como Android no tiene un único punto de entrada necesitamos algo así como un mapa para saber por dónde empezar y para esto en Android existe algo llamado el ManifestFile que es donde debemos definir los componentes con los que cuenta nuestra aplicación y como estos se deben comportar.
Ahora para ahondar un poco más en esto vamos a ver los componentes principales de una aplicación Android y como estos están relacionados entre sí a través del ManifestFile.
Ya se dijo que un aplicación en Android está compuesta por una serie de componentes diferentes, entre los más importantes y los que son la base de cualquier aplicación de Android están:
1.- Activities: Son los componentes visibles, con una interface de usuario y estas sirven directamente para interactuar con la aplicación.
2.-Services: Son los procesos en segundo plano, no visibles. Monitorean al resto de componentes y actividades de la aplicación.
Un ejemplo de esto sería una aplicación de email que esta siempre monitoreando si existe un nuevo mail en la bandeja de entrada.
3.-Intents: Están encargados de las comunicaciones internas y externas de la aplicación, estas inician componentes y solicitan acciones. Ósea son los mensajeros de la aplicación, pueden notificar los eventos que tengan lugar en el sistema, pero también son usados para iniciar otros componentes de la aplicación.
Pueden lanzar Activities o pueden pedir a aplicaciones externas que ejecuten una aplicación.
4.-Broadcast Receivers: Reaccionan a Intents específicos y pueden ejecutar acciones o devolver otro Intent al sistema para que este siga con otros procesos.
5.-Content Provider: Estos se encargan de poner en contacto la aplicación con otras aplicaciones presentes en el sistema.
Como Android no tiene un punto único de entrada como en otros lenguajes como por ejemplo java y su método main. Android no cuenta con nada parecido a esto, sino que los componentes de una aplicación Android se ponen en marcha o se les pide que ejecuten una determinada acción mediante Intents específicos.
¿Pero cómo se ordena esto?
Ahí es donde aparece el ManifestFile de la aplicación. Es donde vamos a indicar los componentes que incluye la aplicación y que intentes deben reaccionar en casa uno de ellos.
Un ejemplo de esto es que en el ManifestFile señalaremos que Activities o que interface para que interactué el usuario será mostrada por defecto cuando se inicie la aplicación.
No solo para esto sirve el ManifestFile. Sino que también sirve para escribir información acerca de la aplicación. Esta información seria como por ejemplo:
1.- la versión de la aplicación, para el que navegue en el Android market sepa a qué versión representa la aplicación.
2.-La versión de la aplicación para el Android market, esta no es la misma versión que ve la persona que navega en el Android market, sino que es un número que va creciendo cada vez que se realizan cambios en la aplicación. Un ejemplo de esto es si uno realiza una aplicación esta queda con numero de versión para el market de 1, luego si realizo cambios este se incrementa a 2, posteriormente añado otras funcionalidades este se cambiaria a 3 y así (independiente de la versión que el usuario puede ver).
3.- Perfiles de hardware requeridos. Estos son que requerimientos necesita nuestro terminal para ejecutar la aplicación, como por ejemplo: si es multitouch, la resolución de pantalla, wifi, etc.
4.- Permisos para usar componentes específicos. Son permisos necesarios para que se pueda ejecutar la aplicación. Como por ejemplo: que se pueda escribir en la memoria SD, poder acceder a la red, etc.