Sunteți pe pagina 1din 21

Programacin Grfica UNI

Gua de Laboratorio No.2 Eclipse con Android y Java Programacin Grfica Ingeniera en Computacin
CONTROL
DE

VERSIN
FECHA Mayo, 2012 DESCRIPCIN DEL CAMBIO Versin Original

NOMBRE COMPLETO Glenda Barrios Aguirre

Objetivos del Laboratorio


1. Introducir al ambiente de programacin de Eclipse con Android y Java 2. Mostrar los pasos necesarios para crear una aplicacin Android

Indice de Contenido
1.1. Qu es Android?............................................................................................................2 1.2. Crear un Proyecto Android.............................................................................................3 1.3. Generar el .apk para el market de una aplicacin Android desde Eclipse.....................7 ............................................................................................................................................9 1.4. Estructura de Archivos de un Proyecto Android..........................................................11 Otras carpetas ..............................................................................................................19 El Manifest...................................................................................................................19 El resto de archivos......................................................................................................21

Profesora Glenda Barrios Aguirre 1

Programacin Grfica UNI

1.1. Qu es Android?
Android es un sistema operativo para dispositivos mviles, al igual que iOS, Symbian y Blackberry OS, con la diferencia que est basado en Linux, con un ncleo de sistema operativo libre, gratuito y multiplataforma. El sistema permite programar aplicaciones sobre una mquina virtual llamada Dalvik con un lenguaje de programacin ampliamente conocido y fcil de manejar como es Java. El sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del telfono tales como GPS, llamadas, agenda, entre otras.

Figura No.1 Arquitectura del Sistema Operativo Android Profesora Glenda Barrios Aguirre 2

Programacin Grfica UNI

1.2. Crear un Proyecto Android


1. Desde Eclipse ir a File, New, Project

Figura No.1. Crear nuevo Proyecto Android 2. En la nueva ventana seleccionar Android Project y presionar Next.

Figura No.2. Ventana de tipos de Proyectos 3. En la nueva ventana registrar el nombre del Proyecto, adems desmarque la opcin que hace referencia a la localizacin y especifique su directorio de trabajo, por ltimo haga click en el Profesora Glenda Barrios Aguirre 3

Programacin Grfica UNI botn next. En el ejemplo se defini como directorio de trabajo D:/Buzon/AndroidEjemplos/

Figura No.3. Parmetros del Proyecto Android 4. Seleccione la versin del Sdk de Android con la cual trabajar, es posible que aparezca mas de una, segn la versin instalada, de esta ventana seleccione la 2.1 para garantizar la compatibilidad de la aplicacin en los dispositivos.

Profesora Glenda Barrios Aguirre 4

Programacin Grfica UNI

Figura No.4. Versin SDK de Android 5. En la nueva ventana debe especificar el nombre de la aplicacin en el campo Application Name, el nombre del paquete en Package Name, el cual est compuesto de 3 partes cada una separada por un punto (.), en la primera generalmente se especifica com, la siguiente Android y por ltimo se repite el nombre que se haya especificado para la aplicacin, posteriormente tenemos el campo Minimun SDK que indica la versin mnima de sistema operativo donde la aplicacin puede operar en este caso fue Android 2.1 correspondiente al SDK 7. Luego de definido los tres valores mencionados haga click en el botn Finish.

Profesora Glenda Barrios Aguirre 5

Programacin Grfica UNI

Figura No.5. Definiendo los parmetros de la aplicacin 6. Ejecutar proyecto ubicndose en el proyecto correspondiente y seleccionando la opcin correspondiente para correrlo como aplicacin Android.

Figura No.7. Ejecutando una aplicacin Android

Profesora Glenda Barrios Aguirre 6

Programacin Grfica UNI

Figura No.8. Resultado de la aplicacin por defecto al ejecutarse. Es valido mencionar que en esta imagen aparece el texto Hola a todos porque se cambi su valor al editarse el archivo strings.XML ubicado en /res/values con el ADT.

1.3. Generar el .apk para el market de una aplicacin Android desde Eclipse
7. Ubicarse en el proyecto que se pretende generar, click derecho y seleccionar la opcin "Android Tools"- > "Export Signed Application Package"

Profesora Glenda Barrios Aguirre 7

Programacin Grfica UNI

Figura No.9. Generar un apk con autenticacin para distribucin 8. En la siguiente ventana aparecer seleccionado el proyecto en donde nos ubicamos, hacer click en Next.

Profesora Glenda Barrios Aguirre 8

Programacin Grfica UNI 9. En la siguiente ventana se le solicitar la ruta en donde queremos generar el apk y el nombre del archivo con el cual queremos generarlo, selecciono la ruta del proyecto y especifico como nombre de archivo PrimitivasInstalador esto para el campo Location, luego en los campos Password y Confirm especifico la clave.

Profesora Glenda Barrios Aguirre 9

Programacin Grfica UNI 10. En la siguiente ventana especifico los valores para crear la clave, alias, password, validez por defecto se sugiere 25 aos, y nombre del propietario. Especificar como valor una clave de longitud minima de 8 caracteres.

11. En la siguiente ventana hacer click en el botn Finish. Verifique la ruta por defecto que especifica para el file APK para luego buscarlo en esta ubicacin.

Profesora Glenda Barrios Aguirre 10

Programacin Grfica UNI

1.4. Estructura de Archivos de un Proyecto Android


Dentro de la tanta documentacin leda encontr este archivo en donde se explica a detalle la estructura de archivos de un Proyecto Android lo cual considero importante de entender antes de empezar cualquier codificacin.

Figura No.6. Estructura de archivos de un Proyecto Android

Cdigo Fuente
El cdigo fuente de la aplicacin se sita en dos carpetas: src y gen. /src: Se encuentran las clases codificadas por nosotros. /gen: Se encuentran las clases que se generen automticamente, normalmente como resultado de procesar otros archivos del proyecto. Ambas carpetas contienen archivos escritos en Java con extensin .java, y ambas se organizan por paquetes. Cada clase Java, incluidas las creadas por nosotros, pertenece a un paquete. Adems, un paquete puede contener a su vez otros paquetes. Eso crea una estructura en forma de rbol que se traduce en carpetas dentro de carpetas en el disco duro. Cuando creamos la aplicacin tuvimos que especificar el nombre del paquete en el que se incluiran de forma predeterminada nuestras. El nombre constaba de tres partes separadas por puntos, para el ejemplo el valor especificado fue: com.Android.Labo1. Al generar el proyecto, Eclipse debe crear una carpeta para cada una de las partes del nombre del paquete, cada una dentro de la anterior, situando el archivo Labo1.java en la ms interna de ellas. Ver figura

Profesora Glenda Barrios Aguirre 11

Programacin Grfica UNI

Figura No.7. Estructura de directorios creada a partir del paquete Si tenemos muchas clases en el proyecto y queremos organizarlas, podemos crear nuevos paquetes. stos tendrn que ser descendientes del paquete inicial (com.Android.Labo1) o de otro de los paquetes que ya hayamos creado. Para que un paquete sea descendiente de otro tiene que llevar el nombre del padre como prefijo. Por ejemplo, un descendiente del paquete inicial podra ser com.Android.Labo1.Actividades. A la hora de visualizar los paquetes en la vista Package Explorer tenemos dos opciones: verlos de forma jerrquica o de forma plana. Para cambiar de un modo a otro hay que pulsar el botn del tringulo blanco para desplegar un men en el que seleccionaremos Package Presentation para mostrar las dos opciones: Flat (vista plana) y Hierarchical (vista jerrquica).

Figura No.8. Trabajando con las vistas de presentacin de paquetes

Profesora Glenda Barrios Aguirre 12

Programacin Grfica UNI

Figura No.9. Imagen resultante de ambas vistas: Jerrquica vs Plana En la primera imagen podemos ver que se logra visualizar al paquete Labo1 como hijo de com.Android.Labo1, en la vista plana se presentan al mismo nivel aunque se indica la dependencia a travs del nombre. El nombre de la clase principal Java del Proyecto Android lo definimos cuando creamos el proyecto en la ventana donde se especific el campo Create Activity. Ver figura.

Figura No.10. Imagen donde se defini la clase principal Java del Proyecto Si abrimos la clase principal de Java del Proyecto haciendo doble click sobre el, o abrindolo en modo edicin podremos ver que la clase efectivamente hereda de Activity. El asistente crea el cdigo mnimo para mostrar el saludo. Profesora Glenda Barrios Aguirre 13

Programacin Grfica UNI

Figura No.11. Contenido de la clase Labo1Activity.java De forma anloga, si desplegamos la carpeta gen y el paquete que contiene veremos un nico archivo de cdigo fuente con el nombre R.java. Este archivo lo genera automticamente el compilador y contiene identificadores para los recursos incluidos en el proyecto. Al estar declarados en Java, esos identificadores se pueden utilizar en el resto del programa para hacer referencia a los recursos que identifican.

Figura No.12. Contenido de la clase R.java De esto podemos decir que los identificadores de recursos se definen como constantes enteras a las que se les asignan nmeros en hexadecimal, todos diferentes. Los identificadores se agrupan en clases, cada una de ella representando a un tipo de recurso distinto. Esas clases, a su vez, se declaran dentro de una clase global de nombre R. El asistente nos cre cuatro recursos: el icono predeterminado para la aplicacin, el diseo (layout) predeterminado para la actividad principal de la aplicacin y dos cadenas de texto, una para el nombre de la aplicacin y otra para el mensaje (el saludo) que se muestra en la actividad.

Profesora Glenda Barrios Aguirre 14

Programacin Grfica UNI Un detalle sobre la vista Package Explorer es que los archivos .java tienen a su vez una estructura jerrquica que permite desplegar los elementos internos. Dichos elementos se muestran tambin de forma jerrquica segn las relaciones que tienen en el propio cdigo fuente. As, podemos ver la jerarqua de clases y los atributos o mtodos que contienen representados como hijos de las clases en el rbol. Haciendo doble click con el botn izquierdo del ratn sobre cualquiera de esos elementos veremos su definicin en la ventana de edicin, lo que puede resultar bastante til para localizarlos cuando los archivos empiezan a crecer.

Figura No.13. Vista jerrquica de los componentes de las clases Java

Los recursos
Se consideran recursos todos aquellos elementos que utiliza la aplicacin que no forman parte del cdigo fuente. Normalmente se tratan como recursos las imgenes, los archivos de audio, animaciones, vdeos, etc. Android permite definir fuera del cdigo tambin otros elementos como cadenas de texto, mens o incluso los diseos de las actividades. Es lo que se denomina externalizacin de recursos, y es algo bastante til porque permite modificarlos de forma mucho ms sencilla que si estuvieran codificados en archivos Java y porque permite tener variantes para un mismo recurso, de forma que se pueda usar uno u otro segn las caractersticas del dispositivo donde se ejecute la aplicacin. Esta ltima caracterstica es la ms importante de todas, dado que permite que los textos de la aplicacin se muestren en el idioma que tiene configurado el usuario o que la disposicin de los elementos visuales se adapte al tamao de la pantalla. Los recursos se localizan todos dentro de la carpeta res del proyecto. Se distribuyen en carpetas, cada una de las cuales representa un tipo Profesora Glenda Barrios Aguirre 15

Programacin Grfica UNI de recursos. Los nombres de estas carpetas estn prefijados, aunque no es necesario incluirlas todas. Otro detalle importante de los recursos es que no slo se pueden utilizar en el cdigo fuente de la aplicacin, tambin se pueden utilizar en otros recursos. Por ejemplo, un diseo puede incluir cadenas, dimensiones o colores que tambin estn definidos como recursos. Podemos ver un ejemplo de esto en el archivo res/layout/main.xml de nuestro proyecto. En ese archivo, que contiene el diseo de la actividad principal de la aplicacin, se hace referencia a la cadena hello que se define en el archivo res/values/strings.xml y que contiene el saludo que muestra la aplicacin.

Recursos simples
Se nos ubicamos dentro de la carpeta values, podemos ver diversos tipos. Todos se definen en archivos XML. Dentro de la carpeta values puede haber varios archivos XML cuyo nombre es irrelevante. Cada uno de estos archivos puede contener definiciones de recursos de diversos tipos mezcladas. Sin embargo, se recomienda agrupar todos los recursos del mismo tipo en un mismo archivo, no mezclarlos, y darle al archivo un nombre representativo: strings.xml, colors.xml, etc. El plugin ADT proporciona un editor de texto para editar directamente el XML o un editor simple de recursos que permite crear algunos de los tipos utilizando cuadros de dilogo:

Figura No.14. Activando el editor de recursos del ADT para Android Dentro de la carpeta values podemos incluir varios tipos de recursos:

Cadenas de texto: Pueden ser cadenas independientes o arrays de cadenas Colores: Se definen en hexadecimal y comenzando siempre por una almohadilla (#). Deben incluir, como mnimo, tres valores, que se corresponden con la cantidad de rojo, verde y azul que

Profesora Glenda Barrios Aguirre 16

Programacin Grfica UNI componen el color deseado (formato RGB). Adems, pueden llevar tambin informacin sobre el nivel de transparencia del color (lo que se denomina canal alfa). Si se omite, el color es completamente opaco. Dimensiones: Normalmente se utilizan como atributos de otros recursos y permiten dar uniformidad a los distintos elementos que se muestran en pantalla, a la vez que posibilitan el cambiar su tamao en funcin del tipo de pantalla que tenga el dispositivo que ejecuta la aplicacin. Se definen con un nmero seguido (sin espacios) por una cadena que representa la dimensin. Estilos: Permiten definir un conjunto de propiedades visuales que se pueden aplicar, todas juntas, a vistas o incluso actividades (aplicados como temas). Booleanos: Slo pueden tener los valores true o false. Se suelen usar para hacer que la aplicacin acte de una forma u otra en funcin de las caractersticas del dispositivo donde se ejecuta. Identificadores: Podemos crear identificadores nicos para la aplicacin. Son similares a los que se generan automticamente para cada recurso, pero sin la necesidad de tenerlos ligados a ninguno de ellos (aunque podemos hacerlo). La aplicacin podra necesitar este tipo de identificadores en algunas situaciones. Por ejemplo, para usarlos como cdigos de error o para identificar cuadros de dilogo. Enteros: Son valores numricos que se utilizan de forma similar a como se usan los booleanos. Aunque, a diferencia de estos ltimos, aqu podemos definir arrays de enteros. Arrays genricos con tipo: Se pueden crear arrays de recursos, bien sea de recursos ya definidos (identificados por su nombre) como de recursos genricos (sin nombre asociado).

Recursos grficos
La mayora de los recursos grficos se localizan bajo la carpeta drawable y pueden ser de numerosos tipos. Sin embargo, la mayor parte de las veces usaremos slo unos pocos:

Mapas de bits: Imgenes sencillas en formato PNG, JPG o GIF (aunque el ms recomendable es el PNG). Los archivos se copian directamente a la carpeta drawable y se identifican en la aplicacin por su nombre (el del archivo). Imgenes redimensionables (nine-pacth): imgenes compuestas por nueve imgenes ms pequeas que permiten escalar el objeto rectangular representado a cualquier tamao. Las imgenes se corresponden con las 4 esquinas del objeto (no cambian de tamao), los cuatro laterales (se estiran en la direccin correspondiente) y el centro (se redimensiona al tamao adecuado). Se utilizan para proporcionar grficos para controles como botones, que se Profesora Glenda Barrios Aguirre 17

Programacin Grfica UNI pueden adaptar a diferentes tamaos. Son archivos con extensin .png que se sitan directamente en el directorio drawables. Animaciones: las hay de dos tipos: Animaciones imagen a imagen (Frame Animations): se definen en archivos XML, en la carpeta drawable. Cada elemento de la animacin es otro recurso grfico de la carpeta drawable junto con el tiempo que tiene que visualizarse. o Animaciones basadas en transformaciones (Tween Animations): se definen tambin en archivos XML, pero en la carpeta anim. Contienen una serie de transformaciones y efectos, como desvanecimientos, rotaciones, escalados o desplazamientos, que se aplican en el orden y con las caractersticas definidas a la imagen que queramos.
o

Diseos
Los diseos definen la forma de disponer los elementos visuales en la pantalla. Se aplican a las actividades (el equivalente a las ventanas en un sistema operativo de PC) y contienen vistas (el equivalente a los controles) y la forma de distribuirlas. Se definen en archivos XML dentro de la carpeta layout e incluyen todas las vistas y grupos de vistas (contenedores de otras vistas) que se quieren mostrar en pantalla, personalizadas por medio de los diferentes atributos que poseen. Lo habitual es utilizar el resto de recursos para personalizar estas vistas: cadenas de texto, colores, dimensiones e incluso elementos grficos. Es el principal recurso de las interfaces de usuario.

Resto de recursos
Por completitud, voy a enumerar en esta seccin el resto de recursos que se pueden tener en el proyecto, aunque se utilicen con algo menos de frecuencia:

Lista de colores para estados: Es un recurso que se define en XML en la carpeta color y que se utiliza como si fuera un color normal (de los que se definen en la carpeta values). La diferencia radica en que no define un nico color, sino varios: uno por cada estado que pueda tener el elemento al que se le aplique. De esta forma, el color se cambiar automticamente cada vez que cambie el estado del objeto. Por ejemplo, un botn puede tener diferente color cuando est pulsado y cuando no lo est. Archivos XML: Aunque la mayora de recursos se definen en archivos XML, cada uno en la carpeta que le corresponde,

Profesora Glenda Barrios Aguirre 18

Programacin Grfica UNI tambin es posible que necesitemos disponer de archivos XML especficos para utilizarlos en la aplicacin directamente. Esos archivos se sitan en la carpeta xml. Un ejemplo de esto es el archivo XML que se utiliza para definir la pantalla de preferencias de la aplicacin.

Otros archivos de recursos: Archivos que se utilizarn directamente en la aplicacin. Se colocan en la carpeta raw.

Otras carpetas
Hay ms carpetas en el proyecto, aunque algunas no las crea directamente el asistente:

Carpeta libs: aqu se sitan las bibliotecas privadas que utiliza el proyecto. Las bibliotecas son conjuntos de archivos java compilados y empaquetados en un archivo JAR. Sirven para reutilizar conjuntos de clases en otros proyectos, sin tener que copiar los archivos java individuales y sin tener que proporcionar el cdigo fuente. Carpeta assets: aqu se pueden colocar tambin archivos que se utilizarn directamente en la aplicacin (igual que los que se incluyen en la carpeta res/raw). La diferencia es que a los que se incluyen en la aplicacin como recursos se accede por medio del identificador que se les asigna al compilar, mientras que a los de la carpeta assets se accede de forma similar a como se accede a archivos externos, pudiendo incluso navegar por los directorios que creemos. Carpeta bin: esta carpeta, que se crea al compilar por primera vez, contendr los archivos resultantes de la compilacin: el paquete de la aplicacin (archivo .apk), las clases compiladas a bytecode Java (archivos .class), los recursos compilados, etc.

El Manifest
Adems de carpetas, tambin se incluyen en el proyecto algunos archivos genricos que, sin ser parte del cdigo fuente o recursos, Profesora Glenda Barrios Aguirre 19

Programacin Grfica UNI determinan la forma en que se generar la aplicacin al compilar. De todos ellos, el archivo AndroidManifest.xml es el ms importante de todos. Este archivo, el Manifest de la aplicacin, contiene la informacin que el sistema operativo necesita conocer antes de poder ejecutar la aplicacin. Su contenido se resume de la siguiente manera.

Identificacin de la aplicacin: Nombre del paquete, nmero de versin, etc. Tambin si permitimos que la aplicacin se pueda mover a la tarjeta SD. Atributos de la aplicacin: El nombre que se le mostrar al usuario, icono y logotipo, una descripcin de su funcionalidad e incluso permisos globales. Permisos: los que requiere la aplicacin para funcionar. Son los que se le muestran al usuario antes de instalarla. Componentes hardware: Los que la aplicacin utiliza o puede utilizar. Se puede indicar si son indispensables o no y sirven para que la aplicacin slo aparezca en el Android Market de equipos compatibles. Pantallas: Las que son compatibles con la aplicacin. Tambin se utiliza para filtrar aplicaciones en el Android Market. Versiones de Android: La mnima versin que la aplicacin requiere para ejecutarse y aquella para la que se ha creado (que no tienen por qu coincidir). Principal elemento de filtrado en el Android Market. Actividades: Datos de todas las actividades que incluye la aplicacin, como nombre, icono, permisos de ejecucin, etc. Otros componentes de la aplicacin: Datos de servicios, proveedores y receptores de contenidos, etc.

A continuacin se agregaron las imgenes de las 3 vistas principales del archivo Manifest.XML que nos proporciona el plugin ADT.

Profesora Glenda Barrios Aguirre 20

Programacin Grfica UNI

Figura No.15. Cdigo XML del archivo Manifest.XML

El resto de archivos
Aunque el manifiesto es el ms importante de todos, hay ms archivos genricos en un proyecto Android:

project.properties: Fichero generado que contiene las propiedades del proyecto, las que se definen en Eclipse en Project | Properties | Android. build.properties: Contiene la informacin necesaria para firmar automticamente la aplicacin (necesario para poder publicarla en el Android Market). Con Eclipse no se utiliza porque dispone de un asistente especfico para ello. build.xml: Contiene la informacin necesaria para compilar el proyecto desde lnea de comandos. No se utiliza en Eclipse.

Profesora Glenda Barrios Aguirre 21

S-ar putea să vă placă și