¿Cómo Empezar A Desarrollar Aplicaciones Android?

El día de hoy veremos cómo Desarrollar Aplicaciones Android.

A lo largo de este artículo estudiaremos la instalación del IDE Android Studio como entorno de desarrollo y que configuraciones debemos llevar a cabo para un optimo funcionamiento.

Finalmente crearemos una pequeña aplicación estilo Hello World para comprobar el funcionamiento del entorno de programación.

¿Por Qué Desarrollar Aplicaciones Android?

Para nadie es un secreto que  Android está popularizándose cada vez más en los dispositivos móviles, Smart TVs, Relojes inteligentes, etc., arrebatando con gran velocidad parte del mercado a marcas reconocidas como iOS. Esta situación representa una gran oportunidad para nosotros los desarrolladores y el futuro laboral.

¿Sabes en qué fecha nace Android?

¿Ya has averiguado cuál  es la última versión de Android?

Te dejo una infografía sobre la historia de Android que te dará algunas luces. Haz click para verla en versión original.

Historia De Android En Una Infografía

Por otro lado me gustaría mostrarte este estudio de la International Data Corporation(IDC) con respecto a la posesión del mercado entre los distribuidores de sistemas operativos para móviles.

Top Five Smartphone Operating Systems

Google ha empleado Java como lenguaje de programación para crear aplicaciones Android, por lo que asumimos que tienes conocimientos previos sobre esta herramienta. No obstante, una aplicación Android puede construirse en distintos lenguajes.

Cabe aclarar que solo estoy indicando que Android es popular y es buena opción programar para este tipo de dispositivos, debido a la gran cantidad de usuarios exponiendo necesidades.

En ningún momento he mencionado que es mejor que otras marcas. Todos los sistemas operativos móviles son excelentes tendencias de desarrollo y en esta en las manos de cada quien encontrar la máxima rentabilidad de sus aplicaciones.

Instalando el Entorno de Desarrollo

Herramientas a utilizar

Desarrollar para Android requiere un entorno basado en ciertas tecnologías integradas. En primera instancia necesitamos las librerías y herramientas de los dueños, es decir, el SDK (Software Delevelopment Kit) de Android. Con ello tendremos habilitado el camino para generar nuevas aplicaciones en consola.

Como lenguaje de desarrollo usaremos Java para construir las aplicaciones. Además se usa el metalenguaje XML para el diseño de interfaces a través de Parsing (Temas que veremos más adelante).

También se usa un sistema de construcción automatizado llamado Gradle. Esta herramienta emplea al javac (Java Compiler) para programar mediante “Scripting el funcionamiento de la integración modular de nuestra aplicación. Si nunca has escuchado de ella no te preocupes, más adelante hablaremos sobre los detalles importantes.

Descargar Android SDK, Android Studio y el JDK

En cuanto a la herramienta para la edición y construcción, Google ha recomendado un nuevo IDE llamado Android Studio, para que no trabajemos directamente en consola. Además integra a Gradle para simplificar la construcción de nuestras aplicaciones. De modo que primero visitaremos el sitio oficial para descargar este paquete con el siguiente botón:

Android Studio

Y como ya sabes, para obtener nuestra Maquina Vitual Java es necesario obtener el JDK. Así que descárgalo desde aquí:

JDK 1.8

Instalando Java Development Kit

Cuando hayas descargado el JDK, solo ejecuta su instalador y sigue los pasos. Esta herramienta nos dará el soporte para ejecutar Android Studio y el funcionamiento de Gradle:

Java jdk instalación

Instalando Android Studio

El primer paso es ejecutar el instalador de Android Studio:
Android Studio Instalación
Una vez instalado el entorno completo debemos registrar una nueva variable de entorno para indicarle a Android Studio, donde se aloja la máquina virtual. Para ello nos dirigiremos a

Inicio >
 Equipo > Propiedades del sistema:
Windows 7 propiedades del sistema
Ahora vamos a Configuración avanzada del sistema:
Windows 7, configuración avanzada del sistema
Realizados estos pasos estaremos en la ventana Propiedades del Sistema. Buscaremos la pestaña Opciones avanzadas y presionaremos el botón Variables de Entorno….
Windows 7, Propiedades del sistema
Aparecerán dos Groupbox, uno llamado” Variables de usuario” y otro llamado “Variables del Sistema”.
Windows 7, Variables de entorno
Pulsaremos el botón “Nueva…” en Variables del sistema y agregaremos una nueva variable llamada JAVA_HOME. A esta nueva variable le asignaremos un String que represente la ruta del directorio donde se encuentra instalado nuestro JDK.

Windows 7, nueva variable del sistema
Luego ejecutaremos Android Studio. Si te pide importar características de una versión anterior solo dejas la opción predeterminada y presionas OK.
Android Studio, ejecución

Crear un Nuevo Proyecto en Android Studio

La primera vez que ejecutas Android Studio, aparecerá un asistente de presentación. Por ahora elegiremos la opción “New Project…” (Nuevo proyecto) para comprobar la estabilidad del entorno.
Android Studio, New project
Se nos pedirá el nombre de la aplicación (Application Name), el dominio de tu empresa o marca (Company Domain) y el nombre del paquete (Package Name). En este caso he nombrado la aplicación como “Test” y “herprogramacion” para el dominio. No uses letras capitales en el nombre de tu compañía, ya que se producirían errores.
Android Studio, New Project Name
Ahora seleccionaremos los Form Factors o Factores de Forma sobre los que se construirá el proyecto. Por lo que seleccionamos “Phone and Tablet” (Teléfono y Tableta). Adicionalmente debes escoger el SDK mínimo “Minimum SDK” que soportará tu aplicación.

Por defecto viene seleccionada la última versión de la plataforma, que en este momento que escribo el articulo es Android L Lollipop. Si el asistente no te deja cambiar la versión, no te preocupes, luego veremos cómo acceder a versiones anteriores. Así que presiona “Next”.

Android Studio, Choose Platform
El siguiente menú nos permite cual será la actividad principal de nuestra aplicación. Una Actividad es un patrón de ejecución visual que se relacionará con las entradas proporcionadas por el usuario para conseguir sus objetivos. Luego profundizaremos en este concepto, por ahora elige Actividad en blanco (Blank Activity).

Android Studio, Activity
En este paso podemos cambiar el nombre de la actividad (Activity Name), el nombre del Layout (Layout Name) relacionado y el titulo (Title). Si gustas deja los valores predeterminados y luego entenderemos un poco más esta estructura. Finalmente clickea “Finish” para comenzar.

Android Studio, Activity Name
Como ves, el entorno es muy acogedor, sencillo y con un diseño claro. Tenemos un espacio al lado izquierdo que muestra la jerarquía de los proyectos (“Project“), un espacio de trabajo en el centro y una previsualización (“Preview”) de la aplicación en la derecha.

Android Studio, Editor
Android Studio se apoya en la herramienta de Software Gradle para automatizar la compilación, depuración, testeo y despliegue de nuestras aplicaciones Android. Pero por ahora no te preocupes, más adelante estudiáremos todos estos conceptos, ya que en este momento solo nos interesa ver ejecutándose nuestra aplicación de prueba.

Usando el SDK Manager

Antes de proseguir ejecutáremos una herramienta llamada SDK Manager. Para ello presiona el siguiente icono:

Android Studio, SDK Manager
SDK Manager nos informa que complementos tenemos hasta el momento instalados en nuestra maquina y cuáles no. Yo te recomendaría seleccionar todo lo que haya disponible e instalarlo,  ya que en algún momento necesitaras testear diferentes plataformas Android. Obviamente se requerirá gran cantidad de tiempo de descarga para ejecutar esta tarea, pero tendrás un robusto entorno de desarrollo.

SDK Manager, Install Packages
Si no deseas instalar todo, entonces solo instala los complementos recomendados. Si usas un Pc con arquitectura Intel entonces selecciona en la categoría Extras el complemento Intel x86 Emulator Accelerator (HAXM installer). Este plugin optimizará la ejecución de nuestros AVDs(Concepto que veremos en instantes).

http://3.bp.blogspot.com/-ibXwICtpKZU/U9f7BXCTuhI/AAAAAAAACng/CZ4ChJrk494/s1600/29.jpg
Ahora presionaremos el botón “Install packages” para pasar a la fase de instalación. Te recomiendo cierres todos las aplicaciones que se están ejecutando en tu PC. Cierra también el Android Studio, ya que esta aplicación mantiene en lectura archivos que necesita el SDK Manager, lo que podría producir errores de instalación. En seguida acepta las licencias de todos los grupos de complementos y clickea “Install“.

SDK Manager, Install
Una vez terminada la instalación el siguiente paso que es abrir de nuevo Android Studio y  crear un nuevo Dispositivo Virtual Android (AVD).

¿Qué es un AVD (Android Virtual Device)?

Un AVD o Dispositivo Virtual Android es una máquina virtual que ejecuta la plataforma Android seleccionada, para comprobar la funcionalidad de nuestra aplicación construida.

El SDK trae consigo una pequeña aplicación de gestión de AVDs llamada AVD Manager.  Así que la ejecutaremos para crear un nuevo dispositivo virtual.

Android Studio, AVD Manager
Debido que aun no tenemos dispositivos creados veremos una lista vacía. Ahora dirígete a la pestañaDevice Definitions, donde encontraremos definiciones disponibles para un nuevo dispositivo.

Android Studio, Device Definitions
La lista de dispositivos es grande, hay varios modelos creados por Google para diferentes gustos. Para este ejemplo he decidido usar un teléfono móvil genérico con resolución QVGA. Te recomiendo elijas un teléfono que use baja cantidad de recursos en memoria si tu computadora es limitada.

Una vez hayas seleccionado, presiona el botón Create AVD…:

AVD Manager, Devices
Lo que sigue es configurar los requerimientos de hardware del AVD en él asistente que se acaba de ejecutar. En él podemos modificar el nombre del dispositivo (AVD Name), cambiar el modelo (Device), cambiar la versión de Android con que se ejecutará (Target). También podemos elegir con que arquitectura de procesamiento móvil (CPU/ABI) se ejecutará y muchas características más.

La versión de Android del proyecto debe ser la misma en el AVD. De lo contrario Android Studio desplegará un error de incompatibilidad de SDKs.

Activa la opción Hardware Keyboard Present si deseas que el AVD interprete el teclado de nuestro PC como su teclado propio. Selecciona también la opción Use Host GPU para que tu tarjeta gráfica esté disponible en la ejecución.

AVD Manager, Create
Una vez configurado presiona OK. En seguida se desplegará un diálogo con un reporte que confirma que atributos se le asignaron al AVD.

AVD Manager, Create Device Report
A continuación iniciaremos el AVD presionando el botón Start…:

AVD Manager, Start...
A continuación aparecerá otro dialogo que contiene algunas opciones de preconfiguración antes del lanzamiento de AVD. Por ejemplo, la primera opción que encontramos es Scale display to real size, esta opción permite representar el display del dispositivo en escala real en tu monitor. Luego hablaremos de las demás opciones, por ahora presiona Launch para ejecutar nuestro AVD.

Run App, Launch Options
Luego del proceso de carga (dependiendo de tu hardware así mismo será el tiempo de carga), Android estará ejecutándose en el AVD:

AVD, Inicio de Android
Si eres buen observador, verás que puedes seguir las acciones actuales del proceso de carga viendo la herramienta logcat de la herramienta DDMS del SDK.

Android Studio, DDMS, logcat
Como ves esta herramienta se encuentra en la barra inferior llamada Android. Si te fijas bien además del logcat nos muestra que procesos están activos en el AVD (lado izquierdo), como por ejemplo el calendario, servicio de correo, reloj, etc.

Ejecutar una Aplicación en Android Studio

Para correr tu aplicación dirígete al editor y presiona Run app:

http://1.bp.blogspot.com/-A2KjZeTAdo0/U9pw26IP55I/AAAAAAAACqs/wux4QjdI1og/s1600/android-studio-run.jpg
En este momento Gradle comienza la compilación y empaquetado de nuestra aplicación. Una vez terminada aparecerá una ventana que nos indica con que AVD ejecutaremos la aplicación. Elegiremos el AVD recién iniciado con el Radio Button Choose a running device  y confirmaremos la acción.

Android Studio, Choose Device
Podemos ver el proceso de instalación de la aplicación en el cuadro de herramientas inferior llamado App.

http://4.bp.blogspot.com/-ryEwZJAUlkA/U9pw3Lo6JzI/AAAAAAAACq0/HA06fUysSkM/s1600/android-studio-run-log.jpg
Una vez finalizada la instalación tendremos a nuestra aplicación desplegando ese tan deseado mensaje Hello World.

AVD, Aplicación Test
Puedes confirmar la ejecución de tu aplicación en el DDMS.

Android DDMS, current task
En mi caso la aplicación test representa el proceso 1001 en el AVD.

Cabe aclarar que aunque Google nos recomienda comenzar a usar desde ya Android Studio, aun sigue en versión Beta y puede contener ciertos errores. Es importante estar pendiente de nuevas actualizaciones para Android Studio.

Por lo general se despliega una alerta de color azul que te indica que hay una nueva actualización de Software. O si deseas comprobar ve a Help > Check Updates.

Recomendaciones para Acelerar el AVD

Soy consciente de que en algunos equipos con recursos regulares la ejecución de un AVD puede ser tediosa. Si es tu caso puedes seguir algunos de los siguientes consejos:

Aprovechar la Arquitectura Intel

Instalar el Acelerador de dispositivos virtuales Android si usas arquitectura Intel. En caso de que uses otro fabricante puedes investigar si tu micro tiene capacidad de aceleración de Virtualización.

Usar versiones antiguas de Android

Usa dispositivos de gama baja y versiones operativas de Android anteriores. Por ejemplo, si usas la compilación Jelly Bean (API 16) podrás reducir considerablemente los recursos necesarios de ejecución. Y si adicionalmente usas un AVD QVGA ayudarías a disminuir la presión sobre tu hardware.

Usar tu propio Dispositivo Móvil

Usar tu propio dispositivo Android en modo depuración USB. Este proceso tarda mucho menos que esperar una tardía ejecución del AVD. Para activar este modo solo sigue los siguientes pasos:
1. Ve a Ajustes.

Android Ajustes
2. Luego selecciona Opciones del desarrollador.

Android, Ajustes,opciones del desarrollador
3.  Luego marca Depuración de USB.

Android Depuración de USBConfirmación Depuración de USB
En algunas versiones esta opción viene oculta por defecto. Si es tu caso, entonces la habilitaremos con la siguiente configuración.

3.1 Ve a Ajustes y busca busca Acerca del dispositivo:

Android, Ajustes, Ajustes del dipositivo
3.2 Presiona 7 veces la opción Número de compilación. Te darás cuenta que todo salió bien  porque aparecerá un Alert que dice “Ya eres un programador“.

Android, Ajustes, acerca del dispositivo
3.3 Sigue los primeros pasos que indiqué arriba.

4. Ejecutar la aplicación y seleccionarlo como dispositivo de ejecución.

Si deseas que siempre se ejecute con tu teléfono entonces configuraremos el proyecto de la siguiente manera: Iremos a la lista “app” y elegiremos “Edit Configurations…“.

Android Studio, Edit Configurations
Luego dirígete al Group Box llamado Target Device y selecciona el Radio ButtonUSB Device“.

Android Studio, Target Device
Al aplicar los cambios ejecuta la aplicación, espera su instalación y listo:

Android 4.2, app prueba

Error “USB device not found”

En algunos casos el controlador de tu teléfono móvil aun no ha sido instalado convenientemente, así que Android Studio presentará el error “USB device not found“.

Android, USB device not found
Si es tu caso, entonces debes seguir los siguientes pasos:
1. Despliega la barra de servicios de tu escritorio:

Android, ver servicios activos
2. Luego selecciona la opción que dice “Conectado como un dispositivo USB“:

Android, servicios
3. Luego cambia a Dispositivo multimedia:

Android, conexión de computadora

Una vez seleccionada esta opción, tu PC comenzará a reconocer un canal más completo para la comunicación USB. Solo espera que Windows busque automáticamente el controlador y lo instale.

Inmediatamente Android Studio reconocerá tu dispositivo.

Conclusión

En este tutorial te he mostrado como instalar el entorno de desarrollo para aplicaciones Android y de qué forma configurarlo para comenzar tu vida de Android Developer.

El paso a seguir es revisar el contenido de desarrollo Android que voy a estar creando para ti. Donde cada semana estoy agregando nuevos artículos que ayuden a quienes deseen aprender de forma didáctica.

Tampoco está de más leer la documentación oficial de Android para obtener conocimientos más especializados.

Otra fuente importante es el blog android-developers.blogspot.com. Constantemente actualizan su contenido avisándole a la comunidad nuevas noticias e implementaciones.