El gran libro de Android. Jesus Tomás Gironés
Observa que la clase MainActivity extiende AppCompactActivity que a su vez es un descendiente de Activity. Una actividad es una entidad de aplicación que se utiliza para representar cada una de las pantallas de nuestra aplicación. Es decir, el usuario interactúa con solo una de estas actividades y va navegando entre ellas. El sistema llamará al método onCreate() cuando comience su ejecución. Es donde se debe realizar la inicialización y la configuración de la interfaz del usuario. Las actividades van a ser las encargadas de interactuar con el usuario.
Lo primero que hay que hacer al sobrescribir un método suele ser llamar al método de la clase de la que hemos heredado. Para referirnos a nuestra clase padre usaremos la palabra reservada super. El método termina indicando que la actividad va a visualizarse en una determinada vista. Esta vista está definida en los recursos. Más adelante se describe la finalidad de cada fichero y carpeta de este proyecto.
1.8. Ejecución del programa
Una vez creada esta primera aplicación, vamos a ver dos alternativas para ejecutarla: en un emulador y en un dispositivo real.
1.8.1. Ejecución en el emulador
1. Selecciona Run > Run ‘app’ (Mayús-F10) o pulsa el icono de la barra de herramientas.
2. Te preguntará sobre que dispositivo quieres ejecutar la aplicación:
Te permite escoger entre dispositivos conectados (AVD o reales), lanzar un AVD ya creado o crear uno nuevo.
3. Una vez que el emulador esté cargado, debes ver algo así:
1.8.2. Ejecución en un terminal real
También es posible ejecutar y depurar tus programas en un terminal real. Incluso es una opción más rápida y fiable que utilizar un emulador. No tienes más que usar un cable USB para conectar el terminal al PC. Resulta imprescindible haber instalado un driver especial en el PC. Puedes encontrar un driver genérico que se encuentra en la carpeta de instalación del SDK \sdk\extras\google\usb_driver. Aunque lo más probable es que tengas que utilizar el driver del fabricante.
1. Abre Android SDK Manager y asegúrate de que está instalado el paquete USB Driver. En caso contrario, instálalo.
2. Posiblemente, este driver genérico no sea adecuado para tu terminal y tengas que utilizar el del fabricante. Si no dispones de él, puedes buscarlo en:
http://developer.android.com/tools/extras/oem-usb.html
3. A partir de Android 4.2 las opciones para desarrolladores vienen ocultas por defecto. De esta forma, un usuario sin experiencia no podrá activar estas opciones de forma accidental. Para activar las opciones de desarrollo tienes que ir a Ajustes > Información del teléfono y pulsar siete veces sobre el número de compilación. Tras esto aparecerá el mensaje “¡Ahora eres un desarrollador!” y nos mostrará más ajustes.
4. En el terminal accede al menú Ajustes > Opciones de desarrollador y asegúrate de que la opción Depuración de USB está activada.
5. Conecta el cable USB.
6. Se indicará que hay un nuevo hardware y te pedirá que le indiques el controlador.
NOTA: En Windows, si indicas un controlador incorrecto no funcionará. Además, la próxima vez que conectes el cable no te pedirá la instalación del controlador. Para desinstalar el controlador sigue los siguientes pasos:
1. Asegúrate de haber desinstalado el controlador incorrecto.
2. Accede al registro del sistema (Inicio > ejecutar > RegEdit). Busca la siguiente clave y bórrala: “vid_0bb4&pid_0c02”.
3. Vuelve al paso 3 del ejercicio.
7. Selecciona de nuevo Run > Run ‘app’ (Mayús-F10) o pulsa el icono
8. Selecciona el dispositivo real y pulsa OK.
1.9. Ficheros y carpetas de un proyecto Android
Lo primero que conviene que conozcas es que un proyecto en Android Studio puede contener varios módulos. Cada módulo corresponde a una aplicación o ejecutable diferente. Disponer de varios módulos en un mismo proyecto nos será muy útil cuando queramos crear varias versiones de nuestra aplicación, para dispositivo móvil, Wear, TV, Things, etc. También si queremos crear varias versiones de nuestra aplicación con nivel mínimo de SDK diferentes. En este libro solo vamos a desarrollar aplicaciones para móviles, por lo que no vamos a necesitar un módulo. Este módulo ha sido creado con el nombre app.
Cada módulo en Android está formado por un descriptor de la aplicación (manifests), el código fuente en Java (java), una serie de ficheros con recursos (res) y ficheros para construir el módulo (Gradle Scripts). Cada elemento se almacena en una carpeta específica, que hemos indicado entre paréntesis. Aprovecharemos el proyecto que acabamos de crear para estudiar la estructura de un proyecto en Android Studio. No te asustes con el exceso de información. Más adelante se dará más detalles sobre la finalidad de cada fichero.
AndroidManifest.xml: Este fichero describe la aplicación Android. Se define su nombre, paquete, icono, estilos, etc. Se indican las actividades, las intenciones, los servicios y los proveedores de contenido de la aplicación. También se declaran los permisos que requerirá la aplicación. Se indica el paquete Java, la versión de la aplicación, etc.
java: Carpeta que contiene el código fuente de la aplicación. Como puedes observar los ficheros Java se almacenan en carpetas según el nombre de su paquete.
MainActivity: Clase con el código de la actividad inicial.
ExampleInstrumentTest: