domingo, 31 de agosto de 2014

Creando un Proyecto

Android Studio facilita la creación de aplicaciones para múltiples dispositivos: teléfonos, tabletas, televisores, relojes y Google Glass. El asistente de creación de creación de proyectos, nos permitirá elegir el o los dispositivos para los que queramos crear una aplicación y será el encargado de generar todo lo necesario para que empecemos nuestro desarrollo.

Requerimientos del sistema

Windows®.

  • Microsoft® Windows® 8/7/Vista/2003 (32 o 64 bit).
  • RAM mínima: 2 GB. RAM recomendada: 4 GB.
  • 400 MB de espacio en disco para Android Studio y 1 GB para el SDK de Android (imágenes para dispositivos virtuales).
  • Resolución de pantalla mínima: 1280 x 800.
  • Java Development Kit (JDK) 7.
  • Opcionalmente y para la emulación acelerada basada en chips Intel: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality.

Mac® OS X®.

  • Mac® OS X® 10.8.5 o superior y hasta la versión 10.9 (Mavericks).
  • RAM mínima: 2 GB. RAM recomendada: 4 GB.
  • 400 MB de espacio en disco para Android Studio y 1 GB para el SDK de Android (imágenes para dispositivos virtuales).
  • Resolución de pantalla mínima: 1280 x 800.
  • Java Runtime Environment (JRE) 6.
  • Java Development Kit (JDK) 7.
  • Opcionalmente y para la emulación acelerada basada en chips de Intel: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality.

Ejecuta Android Studio con el JRE 6 para optimizar el renderizado de fuentes. Puedes configurar tus proyectos para que usen la versión 6 o 7 del JDK.

Linux.

  • Compatible con los escritorios GNOME y KDE.
  • Biblioteca para C de GNU (glibc) 2.11 o posterior.
  • RAM mínima: 2 GB. RAM recomendada: 4 GB.
  • 400 MB de espacio en disco para Android Studio y 1 GB para el SDK de Android (imágenes para dispositivos virtuales).
  • Resolución de pantalla mínima: 1280 x 800.
  • Java Development Kit (JDK) 7.
  • Opcionalmente y para la emulación acelerada basada en chips de Intel: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality.

Probada sobre Ubuntu® 12.04, Precise Pangolin (versión de 64 bit capaz de ejecutar aplicaciones de 32 bit).

Instalando Android Studio

Android Studio cuenta con todo lo necesario para empezar a desarrollar aplicaciones: incluye las herramientas del SDK y el IDE con la tecnología de IntelliJ.

Si aún no has descargado Android Studio, puedes consultar el artículo "Obteniendo Android Studio".

Antes de instalar Android Studio, asegúrate de tener instalado la versión 6 o superior del JDK (solo con el JRE no será suficiente). Para comprobar si tienes el JDK instalado y qué versión, abre un terminal y escribe javac -version. Si el JDK no está disponible o la versión es inferior a la 6, descarga el JDK correspondiente a tu plataforma.

Añadiendo paquetes al SDK

Por defecto, el SDK de Android no incluye todo lo que necesitamos para empezar nuestros desarrollos. El SDK distingue entre herramientas, plataformas y otros elementos que podremos descargar conforme los vayamos necesitando a través del gestor de paquetes. Por tanto, antes de empezar, tendremos que añadir una serie de paquetes necesarios a nuestro SDK.

Para empezar a añadir paquetes, ejecutaremos el gestor de paquetes de cualquiera de las siguientes formas:
  • Desde la pantalla de bienvenida de Android Studio: Configure > SDK Manager.
  • Si ya disponemos de un proyecto abierto, desde la barra de herramientas pulsando el botón , o bien, seleccionando la opción de menú Tools > Android > SDK Manager.
  • Si estamos en Windows, ejecutando el archivo SDK Manager.exe desde el directorio raíz del SDK.
  • Si estamos en Mac/Linux, abriendo un terminal, yendo al directorio tools/ del SDK y ejecutando el comando android sdk.

sábado, 30 de agosto de 2014

Actualizando Android Studio

Si ya dispones de una versión instalada de Android Studio,  puedes actualizar a la última versión instalando un parche. Desde el propio Android Studio, selecciona la opción de menú Help > Check for Updates (en Mac, Android Studio > Check for Updates) para ver si existen actualizaciones pendientes. En la mayoría de los casos funcionará. Ten en cuenta que estamos trabajando con una versión beta.

Si por alguna razón no se encuentra disponible la nueva versión, procede a descargarlo manualmente.

Importante. Si reemplazas una versión previamente instalada, el proceso de instalación de la nueva versión eliminará cualquier paquete del SDK que te hayas descargado con anterioridad. Para conservarlos, haz una copia del directorio del SDK a una carpeta temporal antes de instalar la actualización. Una vez se haya instalado, restaura la copia. Si por alguna razón algo hubiera fallado durante el proceso de copia, vuelve a descargar el SDK a través del gestor de paquetes.

Para instalar paquetes adicionales como imágenes adicionales de Android para el emulador u otras bibliotecas que no están disponibles por defecto en el SDK, utiliza el gestor de paquetes. Puedes abrirlo desde la pantalla de bienvenida de Android Studio: Configure > SDK Manager, o bien, si ya dispones de un proyecto abierto , pulsando el botón de la barra de herramientas, o seleccionando la opción de menú Tools > Android > SDK Manager.

Obteniendo Android Studio

Android Studio
Android Studio. Detalle del editor de plantillas.
Android Studio es el nuevo entorno de desarrollo de Android basado en tecnología IntelliJ IDEA. Posee una serie de características y mejoras sobre Eclipse ADT y acabará siendo el IDE oficial de Android una vez éste, esté listo. Además de las cualidades que nos ofrece como producto basado en IntelliJ, Android Studio nos nos proporciona:
  • Gradle como sistema de compilación y generación de paquetes.
  • Definición de varios entornos de ejecución y la generación de un APK para cada uno de ellos.
  • Plantillas predefinidas para los servicios de Google y para varios dispositivos.
  • Editor de plantillas con soporte para la edición de temas.
  • Lint como herramienta para obtener mejoras en el rendimiento, usabilidad, compatibilidad entre versiones y otros problemas.
  • ProGuard y firma de aplicaciones.
  • Soporte integrado para la nube de Google.

Componentes de una aplicación

Los componentes son la esencia en la construcción de una aplicación Android. Cada componente puede comportarse como un punto de entrada en nuestra aplicación. No todos los componentes serán puntos de entrada, algunos dependerán de otros, pero cada uno de ellos juegan su propio papel y en conjunto definirán el comportamiento de nuestra aplicación.

Permisos del sistema

Android es un sistema operativo en el las aplicaciones se ejecutan de manera aislada y cuentan con su propia identidad (un ID de usuario y un ID de grupo Linux). Partes del sistema también cuentan con su propia identidad. De este modo, Linux aísla las aplicaciones entre sí y del propio sistema.

Adicionalmente, existen otros mecanismos basados en permisos que podremos otorgar de manera explícita a un proceso sobre ciertos datos, o también, podremos especificar que una URI (enlace a contenido) sea accesible temporalmente.

Recursos

Una aplicación Android está compuesta no solo por su código, a su vez, ésta cuenta con recursos de imagen, audio y vídeo, o cualquier otra cosa relacionada con su aspecto visual: animaciones, menús, estilos, colores o el diseño de una actividad. La utilización de recursos nos facilitará su mantenimiento y nos permitirá su optimización para diferentes configuraciones de dispositivo: idioma, tamaño de pantalla, etc.

Compatibilidad y dispositivos

Android ha sido diseñado para ser ejecutado en múltiples tipos de dispositivos, desde teléfonos móviles a tabletas y televisores inteligentes (smart TV). Como desarrollador, esta amplia gama de dispositivos te ofrece la oportunidad de llegar a un alto número de usuarios desde tu aplicación. Para que tu aplicación tenga éxito, ésta deberá ser lo suficientemente flexible y contar con una interfaz de usuario que sea capaz de adaptarse a cada una de las configuraciones de pantalla existentes.

Para facilitarnos el camino y conseguir dicho objetivo, Android nos ofrece la posibilidad de poder especificar diferentes diseños y recursos de manera estática para cada configuración específica de dispositivo. Por ejemplo, podremos especificar diferentes diseños usando varios archivos XML, atendiendo al tamaño de pantalla. En este caso, Android cargará el diseño más adecuado en función de las características del dispositivo en el que se esté ejecutando nuestra aplicación.

El archivo AndroidManifest.xml

Puesto que el sistema Android es el intermediario de atender las intenciones cada vez que se pretende activar un componente, éste debe saber de la existencia de dichos componentes. Es aquí cuando el archivo especial AndroidManifest.xml entra en juego. Nuestra aplicación tendrá que declarar todos sus componentes en este archivo que se encuentra ubicado en el directorio raíz de nuestro proyecto (generalmente /app/src/main/AndroidManifest.xml).

Este archivo sirve, además, para otros propósitos tales como:
  • Identificar los permisos que nuestra aplicación requiere por parte del usuario. Como por ejemplo, tener acceso a Internet o poder consultar la agenda de contactos.
  • Declarar la versión mínima de API que nuestra aplicación necesita para funcionar.
  • Declarar características software y hardware que nuestra aplicación necesitará para funcionar. Por ejemplo, cámara, bluetooth o pantalla multi táctil.
  • Librerías enlazadas y necesarias para un correcto funcionamiento. Por ejemplo, la librería de mapas de Google.
  • Y más ...

Nota. En Android Studio, el punto segundo y cuarto de la lista anterior, se configura desde el archivo /app/build.gradle.

Introducción a Android

Android nos proporciona un completo entorno de trabajo de desarrollo que nos ayudará en la elaboración de aplicaciones para dispositivos móviles. En la mayoría de los casos, utilizaremos Java como lenguaje de programación.

Las aplicaciones en Android se construyen mediante la combinación de distintos componentes que pueden ser invocados de manera individual. Por ejemplo, una actividad (Activity) puede mostrar una pantalla de la interfaz del usuario, mientras que un servicio (Service), y de manera independiente, puede realizar ciertas operaciones en segundo plano. Actividad y servicio son dos de los componentes Android que desarrollaremos en profundidad más adelante.