miércoles, 27 de febrero de 2013

2.2 - Crear un Proyecto Android

El plugin ADT proporciona un Asistente para nuevo proyecto que puede utilizar para crear rápidamente un nuevo proyecto de Android (o un proyecto de código existente). Para crear un nuevo proyecto:
  1. Seleccione File > New > Project.
  2. Seleccione Android > Android Application Project y haga clic en Next.
  3. Introduzca los ajustes básicos para el proyecto:
    • Introduzca un Application Name. Este nombre se utiliza como título del icono del iniciador de aplicaciones cuando se instala en un dispositivo.
    • Introduzca un Project Name . Este texto se utiliza como el nombre de la carpeta donde se crea su proyecto.
    • Introduzca un Package Name. Este espacio de nombres crea la estructura del paquete inicial de sus archivos de código, y se añade como el atributo package en el archivo manifest de Android . El nombre del paquete debe seguir las mismas reglas que los paquetes en el lenguaje de programación Java.
    • Seleccione un Minimum Required SDK . Este valor indica la menor versión de la plataforma Android que admita la aplicación. Este valor establece el atributo minSdkVersion en el <uses-sdk> del archivo de manifiesto.
    • Seleccione un SDK Target . Este valor indica la versión más alta de Android con la que se han puesto a prueba con su aplicación y establece el atributo targetSdkVersion del archivo de manifiesto.
      Nota: Puede cambiar el SDK de destino para su proyecto en cualquier momento: Haga clic en el proyecto en el Explorador de paquetes, seleccione Properties, seleccione Android y compruebe el Project Build Target .
    • Seleccione la versión del API para compilar. Este ajuste especifica qué versión del SDK usar para compilar el proyecto. Le recomendamos que utilice la versión más reciente del API.
    • Seleccione un Theme . Este ajuste especifica qué norma de estilo visual Android se aplica a su aplicación.
    • Haga clic en Next.
  4. En la página Configure Project , seleccione la configuración que desee y haga clic en NextDeje la opción Create activity activada para que pueda iniciar su aplicación con algunos componentes esenciales.
  5. En la página Configure Launcher Icon, cree un icono y haga clic en Next.
  6. En la página Create Activity, seleccione una plantilla de actividad y haga clic en Next. Para obtener más información lea la siguiente sección.
  7. Haga clic en Finish  y el asistente creara un nuevo proyecto de acuerdo a las opciones que ha elegido.

2.3 - Estructura de Proyectos Android


Las herramientas del SDK espera que sus proyectos sigan una estructura específica para que pueda compilar y empaquetar la aplicación correctamente, por lo que es muy recomendable que se creen con Eclipse y ADT o con el android de línea de comandos. 
Hay tres tipos de proyectos, y todos ellos comparten la misma estructura general, pero difieren en función de:
Proyectos Android
Un proyecto de Android es el contenedor de código fuente de la aplicación, archivos de recursos y archivos (como Ant y el archivo de manifiesto de Android). Un proyecto Android es el principal tipo de proyecto y su contenido genera finalmente un archivo .apk que se instala en un dispositivo.
Proyectos de prueba
Estos proyectos contienen código para probar sus proyectos de aplicación y están incorporadas en las aplicaciones que se ejecutan en un dispositivo.
Proyectos de bibliotecas
Estos proyectos contienen el código fuente de Android compartible y los recursos que puede hacer referencia a los proyectos de Android. Esto es útil cuando usted tiene código común que desea volver a utilizar. Los proyectos de bibliotecas no se puede instalar en un dispositivo.
Para mas informacion vease: Gestion de Proyectos Android

1.3 - Uso del Emulador de Android y Aceleracion de Hardware


El SDK de Android incluye un emulador de dispositivo móvil virtual que se ejecuta en su computadora. El emulador permite crear prototipos, desarrollar y probar aplicaciones Android sin necesidad de utilizar un dispositivo físico.
El emulador de Android imita todas las características de hardware y software de un dispositivo móvil típico, excepto que no pueden hacer llamadas de teléfono reales. Se ofrece una variedad de teclas de navegación y de control, que se puede "pulsar" con el ratón o el teclado para generar eventos de la aplicación. También proporciona una pantalla en la que aparece la aplicación, junto con todas las otras aplicaciones activas Android.

Para probar la aplicación con mayor facilidad se recomienda el uso del emulador AVD con diferentes configuraciones. AVDS es la herramienta que permite definir ciertos aspectos de hardware de su teléfono emulado y le permiten crear muchas configuraciones para poner a prueba su aplicacion en muchas de las plataformas Android. Una vez que se ejecuta la aplicación en el emulador, puede utilizar los servicios de la plataforma Android para invocar otras aplicaciones, el acceso a la red, reproducir audio y datos de vídeo, almacenar y recuperar, notificar al usuario y hacer transiciones gráficas y temas.
El emulador también incluye una variedad de capacidades de depuración, como simular interrupciones de aplicación (tales como la llegada de mensajes SMS o llamadas telefónicas), simular los efectos de latencia y abandonos en la red de datos, etc.
Dado que este apartado es muy extenso, aqui mostraremos los apartados mas interesantes a nuestro entender, para mayor informacion lease Using the Android Emulator.

1.2 - Configuración de dispositivos virtuales AVD


Un dispositivo virtual Android (AVD) es una configuración de emulador que permite modelar un dispositivo real mediante la definición de opciones de hardware y software para ser emulados por el Emulador de Android.
Para una mayor informacion se aconseja leer el blog oficial de android en el siguiente enlace: http://developer.android.com/tools/devices/index.html
Un AVD consta de:
  • Un perfil de hardware: Define las características de hardware del dispositivo virtual. Por ejemplo, se puede definir si el dispositivo tiene una cámara, si se utiliza un teclado QWERTY físico o una almohadilla de marcación, la cantidad de memoria que tiene, y así sucesivamente.
  • Un mapa de la imagen del sistema: Puede definir qué versión de la plataforma Android se ejecutará en el dispositivo virtual. Usted puede elegir una versión de la plataforma estándar de Android o la imagen del sistema empaquetado con un SDK add-on.
  • Otras opciones: Se puede especificar lapresencia del emulador que desee utilizar con la AVD, lo que le permite controlar las dimensiones de la pantalla, apariencia, etc. También puede especificar la emulación tarjeta SD para usar con el AVD.
  • Un área de almacenamiento a su equipo de desarrollo: los datos del dispositivo de usuario (aplicaciones instaladas, configuraciones, etc) y emulado tarjeta SD se almacenan en esta área.
Puede crear tantos AVDS  como usted necesite, basándose en el tipo de dispositivo que se desea modelar. Para probar a fondo su aplicación, debe crear un AVD para cada configuración general del dispositivo (por ejemplo, diferentes tamaños de pantalla y las versiones de la plataforma) con la que la aplicación es compatible y probar su aplicación en cada uno.

martes, 26 de febrero de 2013

2.1 - Problematica de Pantallas en Android


Multiples Dispositivos, Multiples Pantallas

Android corre en una variedad de dispositivos que ofrecen diferentes tamaños de pantalla y densidades. Para las aplicaciones, el sistema Android ofrece un entorno de desarrollo coherente en todos los dispositivos y se encarga de la mayor parte del trabajo para ajustar la interfaz de cada usuario de la aplicación a la pantalla en la que se muestra. Al mismo tiempo, el sistema proporciona APIs que le permiten controlar la interfaz de usuario de la aplicación para tamaños de pantalla y densidades específicas con el fin de optimizar el diseño de interfaz de usuario. Por ejemplo, es posible que desee una interfaz de usuario para tablets que es diferente de la interfaz de usuario para los teléfonos.
Aunque el sistema lleva a cabo la ampliación y cambio de tamaño pantallas, el desarrollador debe hacer el esfuerzo para optimizar su aplicación para los diferentes tamaños de pantalla y densidades. De este modo, se maximiza la experiencia del usuario para todos los dispositivos dando la sensación de que su aplicación fue diseñada realmente para su/sus dispositivos en lugar de ser un mero ajuste a la pantalla en sus dispositivos.
Con este documento se pretende permitir la creación de aplicaciones que se muestren correctamente en todas las configuraciones de pantalla posibles. desde un unico archivo .apk
Para una mayor profundidad sobre este tema se recomienda la lectura de la Guía Oficial de Android del Desarrollador

Descripción del Soporte de Pantallas 

Esta sección proporciona una visión general del soporte de Android para múltiples pantallas, incluyendo: una introducción a los términos y conceptos utilizados en este documento y en la API y un resumen de las configuraciones de pantalla que el sistema soporta.

Términos y conceptos

Tamaño de la pantalla

Tamaño físico real, se mide como la diagonal de la pantalla.
Para simplificar, los tamaños de pantalla en Android se dividen en 4 grupos: small, normal, large, y extra large.

Densidad de pantalla

La cantidad de pixeles dentro de un área física de la pantalla; referida generalmente como dpi (puntos por pulgada). Por ejemplo, una "baja" densidad pantalla tiene menos píxeles en un área determinada físico, frente a una pantalla de densidad "normal" o "alta".
Para simplificar, las densidades de pantalla en Android se dividen en 4 grupos: low, medium, high, y extra high.
Figura 1. Ilustración de cómo Android aproximadamente asigna tamaños reales y densidades de pantalla (las cifras no son exactas).

Orientación

La orientación de la pantalla desde el punto de vista del usuario. Este puede ser horizontal (landscape) o vertical (portrait). Tenga en cuenta que no sólo los diferentes dispositivos operan en diferentes orientaciones por defecto, pero se puede cambiar la orientación en tiempo de ejecución cuando el usuario gira el dispositivo.

Resolución

El número total de píxeles físicos en una pantalla. Las aplicaciones deben referirse únicamente mediante el tamaño de pantalla y la densidad, encuadrandolas para los diferentes grupos de tamaños y densidades de pantalla.

Pixeles independientes de la densidad (dp)

Una unidad de pixel virtual que se debe utilizar en la definición de diseño de interfaz de usuario, para expresar dimensiones del diseño o la posición de una manera independiente de la densidad.
La densidad de un pixel independiente es equivalente a un píxel físico en una pantalla de 160 dpi, que es la densidad de línea de base asumida por el sistema para una pantalla de densidad "medium". En tiempo de ejecución, el sistema maneja de manera transparente cualquier escala de las unidades de DP, según sea necesario, en base a la densidad real de la pantalla en uso. La conversión de las unidades de DP a píxeles de la pantalla es simple: px = dp * (dpi / 160) . Por ejemplo, en una pantalla de 240 dpi, 1 dp es igual a 1,5 pixeles físicos. Siempre se debe usar unidades dp la hora de definir la interfaz de usuario de la aplicación para garantizar la correcta visualización de la misma en pantallas con diferentes densidades.

1.1 - Instalación y Configuración de Eclipse y SDK Android


A continuación veremos los pasos necesarios para la instalación de Eclipse y del SDK de Android en nuestro PC, así como la configuración de estos para poder comenzar a desarrollar nuestras aplicaciones en Android

Instalar Eclipse

Pasos Previos

El único requisito necesario para usar Eclipse, es tener instalado el paquete JRE (Java Runtime Enviroment). Sin embargo, como Eclipse es una herramienta para desarrolladores, se recomienda descargar el paquete JDK (Java Develpment Kit), que también incluye JRE.

Pagina para la descarga del JDK de ORACLE

Instalación Eclipse

Para la descarga de Eclipse nos dirigiremos a la dirección http://www.eclipse.org/downloads/, y dentro de ella descargaremos Eclipse Classic (aunque se recomienda Eclipse IDE for Java Developers para una mejor experiencia pensando en futuros desarrollos).
Ahora que hemos descargado Eclipse, solo es necesario descomprimir el archivo .zip en el lugar que deseemos, solo es necesario descomprimirlo para instalarlo.

Instalar SDK Android (Página Oficial)

El proyecto Android cuenta con un excelente plugin para la IDE Eclipse el cual posee una instalación muy sencilla. Es necesario descargar el Android SDK mientras hacemos el proceso de instalación para ir ahorrando tiempo. Para instalar el set de herramientas para el Eclipse (ADT: Android Development Tools) se deben seguir los siguiente pasos: