Revista Informática

¿Como empezar a Desarrollar Aplicaciones Android?

Publicado el 26 octubre 2014 por Jamesrevelo @herprogramacion
Desarrollar para Android

El día de hoy comenzamos con esta nueva guía sobre Desarrollo de aplicaciones Android. A lo largo de este artículo estudiaremos como utilizar la herramienta 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.

Contenido:

  • ¿Por qué Desarrollar Aplicaciones para Android?
  • Instalando el Entorno de Desarrollo
    • Herramientas a utilizar
    • Descargar Android SDK, Android Studio y el JDK
    • Instalando Java Development Kit
    • Instalando Android Studio
  • Crear un Nuevo Proyecto en Android Studio
  • Usando el SDK Manager
  • ¿Qué es un AVD?
  • Ejecutar una Aplicación en Android Studio
  • Recomendaciones para Acelerar el AVD
    • Aprovechar la Arquitectura Intel
    • Usar versiones antiguas de Android
    • Usar tu propio Dispositivo Móvil

¿Por qué Desarrollar Aplicaciones para 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. Pero yo no soy el de las explicaciones, así que 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.

Operating System 2013 Shipment Volumes 2013 Market Share 2012 Shipment Volumes 2012 Market Share Year-Over-Year Change

Android 793.6 78.6% 500.1 69.0% 58.7%

iOS 153.4 15.2% 135.9 18.7% 12.9%

Windows Phone 33.4 3.3% 17.5 2.4% 90.9%

BlackBerry 19.2 1.9% 32.5 4.5% -40.9%

Others 10.0 1.0% 39.3 5.4% -74.6%

Total 1009.6 100.0% 725.3 100.0% 39.2%

Fuente: IDC,Android and iOS Continue to Dominate the Worldwide Smartphone Market...

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 rentabiblidad de sus aplicaciones.

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.

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 mas 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, mas 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 descargalo desde aquí:

JDK 1.8

Instalando Java Development Kit

Cuando hayas descargado el JDK, solo ejecuta su instalador y sigue los pasos. Esta 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" (Telefono y Tableta). Adicionalmente debes escoger el SDK minimo "Minimum SDK" que soportará tu aplicación.

Por defecto viene seleccionada la ultima 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 como 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 mas 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, mas adelante estudiarémos 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 ejecutarémos 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 cuales 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 dirigirete 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 incompatabilidad 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 este 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 asi mismo será el tiempo de carga), Android estará ejecutándose en el AVD:

AVD, Inicio de Android

Si eres buen observados, verás que puedes seguir las acciones actuales del proceso de carga viendo la herramientaa 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 recien 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 USB
Confirmació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 salio bien  por que 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 Button "USB 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,asi 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 mas completo para la comunicación USB. Solo espera que Windows busque automáticamente el controlador y lo instale. Inmediatamente Android Studio reconocerá tu dispositivo.

James Revelo Urrea - Desarrollador independiente http://hermosaprogramacion.blogspot.com

Volver a la Portada de Logo Paperblog