lunes, 4 de enero de 2010

Funcionalidad de interfaz Android

Cuando se crea un proyecto en Android; por defecto el crea la carpeta “src” y dentro de esta el paquete que contiene todas las clases de la aplicación.

También crea otros folder por defecto, pero en donde se crea la interfaz de la aplicación es en el folder “res/layout” el cual contiene los archivos “.XML” que contienen la interfaz de la aplicación.

Cuando se agregan componentes a la interfaz de la aplicación, se genera automáticamente en el archivo “R” la definición de estos componentes en código java; para poder utilizar y darles la funcionalidad a estos en el archivo .java que se crea en la carpeta “src”.

Para aplicar un evento a un botón, o a cualquier otro componente de la interfaz; se declara en el archivo o actividad “.java “dicho botón; y se inicializa después agregándole el evento.

[Codigo][/Codigo]

Para utilizar varias pantallas en nuestra aplicación, se debe crear en la carpeta “res/layout” las pantallas que queramos utilizar “.XML” y las clases para utilizar o inicializar la interfaz los “.java”; y además hay que modificar el archivo “.XML” que se encuentra en la carpeta “res” llamado “AndroidManifiest.xml” agregándole las actividades nuevas de las clases que se necesiten. VER FIGURA 2-3:

Creando un proyecto Android en Eclipse

Pasos para crear nuestro primer proyecto Android desde nuestro IDE:

1. Para ello nos dirigimos al menú File /New/Proyect... [1]


FIGURA 1 (Nuevo Proyecto)

2. Si escogen la primera opción (cuando sea la primera vez que creemos un proyecto Android no saldrá como un opción y tendremos que elegir Proyect como la FIGURA anterior). Se nos desplegara el siguiente diálogo donde seleccionamos Android Proyect y presionamos el botón Next. [1] VER FIGURA 2.


FIGURA 2 (Nuevo Proyecto)

3. Ahora se abrirá un nuevo diálogo donde tendremos que indicar 1º el nombre del proyecto, 2º el nombre del package (el nombre del package está formada por dos palabras unidas con un punto como por ejemplo com.aplicacion) este paquete es el que contendrá todos los archivos y es obligatorio. Estos dos campos son obligatorios y no se pueden dejar en blanco, y por último (3º) el nombre que queremos darle a nuestra aplicación y el nombre del arrancador de la aplicación (seria el Main de java). Finalmente presionamos Finish. [1] VER FIGURA 3.


FIGURA 3 (Nuevo Proyecto)

4. Finalmente si todo sale bien, se creara nuestro proyecto y se podrá visualizar desde el panel de área de trabajo (Workspace) que se encuentra a la izquierda de eclipse. Dentro del proyecto si lo desplegamos presionando el botón + veremos el contenido. Primero la carpeta src la cual al igual que en j2me contendrá los archivos java y el paquete, por defecto se crea el archivo HelloWorld.java y el R.java, el primero es el que modificaremos para que muestre Hola Mundo por pantalla. Más abajo vemos mas carpetas y archivos, estas las explicaremos más adelante. [1] VER FIGURA 4.


FIGURA 4 (Nuevo Proyecto)

5. Ahora para editar el fichero HelloWorld.java solo tendremos que hacer doble Click sobre él y se nos mostrara en la ventana de eclipse, aquí nos muestra el contenido del fichero. La primera línea indica el package (nombre que dimos al crear la aplicación), luego la sentencia import para utilizar las librerías de Android y finalmente la clase principal que lleva el nombre indicado al crear el proyecto y dentro el método constructor, aquí podremos agregar nuestro código o crear nuevas clases también. [1] VER FIGURA 5.


FIGURA 5 (Nuevo Proyecto)

domingo, 20 de diciembre de 2009

Entorno de Desarrollo Integrado para Android

Para el desarrollo de aplicaciones en Android es necesario algún IDE de trabajo en este caso se tienen los 2 más utilizados, para ambientes Windows, además para cada uno de los IDE de trabajo no se describe la instalación de cada uno ya que para un programador es muy corriente tener instalado alguno de ellos o haber lo instalado alguna vez, entonces nos enfocamos en la integración de cada uno de los componentes necesarios para la integración de Android en cada uno de ellos:

Eclipse

Para este caso en Eclipse se van a explicar la instalación de ADT para las 2 versiones de Eclipse que son las más utilizadas para el desarrollo de aplicaciones en Android, en nuestro caso, usamos Eclipse Galileo.

• Eclipse 3.4 (Ganymede)[5]

Pasos para la Integración

1.Inicie Eclipse, luego seleccione Help > Software Updates.... y en el dialogo que aparece, Click en el tab Available Software.

2.Click Add Site...

3.En el Add Site en el dialogo que aparece, escriba el URL en el campo de "Location":

https://dl-ssl.google.com/android/eclipse/

Nota: Si usted tiene problemas en agregar el plugin, intente de Nuevo pero esta vez utilizando "http" en la Location URL, Click OK.

4.Regrese a la vista de Available Software, y usted debería poder ver el plugin en la lista de URL, con la Developer Tools agregada o ajunta a él. Seleccione en la casilla ajunta a Developer Tools el checkbox y haga Click en Install...

5.En la ventana siguiente simplemente haga Click en Next.

6.Lea y Acepte los acuerdo de licencia, luego Click en Finish.

7.Reinicie Eclipse y listo.


• Eclipse 3.5 (Galileo)[5]


Pasos para la Integración

1.Inicie Eclipse, y seleccione Help > Install New Software.

2.En el mensaje de Available Software, Click en Add....

En el mensaje que aparece de Add Site, ingrese un nombre en el campo de “Name” (por ejemplo, "Android Plugin") y en el campo de "Location", ingrese el URL:

https://dl-ssl.google.com/android/eclipse/

Nota: Si usted tiene problemas en agregar el plugin, intente de Nuevo pero esta vez utilizando "http" en la Location URL, Click OK.

3.Regrese a la vista de Available Software, y usted debería poder ver el plugin en la lista de URL, con la Developer Tools agregada o ajunta a él. Seleccione en la casilla ajunta a Developer Tools el checkbox, el resto se deja tal y como lo selecciona por defecto, Click en Next.

4.En la ventana siguiente simplemente haga Click en Next.

5.Lea y Acepte los acuerdo de licencia, luego Click en Finish.

6.Reinicie Eclipse.

Los siguientes pasos se aplican para las 2 versiones de Eclipse, ahora modifique las preferencias de Eclipse en el punto en el directorio del SDK de Android: [5]

1.Seleccione Window > Preferences... y abra el panel de Preferencias.

2.Seleccione Android desde el panel de la izquierda.

3.Para la ubicación de SDK en el panel principal, haga clic en Browse... y localizar el directorio SDK descargado.

4.Haga clic en Aplicar y luego en Aceptar.

¡Listo! Si no ha encontrado ningún problema, entonces usted está listo para comenzar a desarrollar aplicaciones de Android. [5]

Algunos de los posibles errores podrían darse por la versión de la maquina virtual, actualice su máquina virtual, en caso de algún error y luego repita los pasos 1 y 2 según su versión.

También, una vez que ya haya hecho todos los pasos anteriores y le marca un error relacionado con la URL del SITE, entonces se puede hacer de otra forma y es accediendo por medio del explorador a dirección URL que está más abajo y descargando todos los archivos disponibles y luego copiamos cada una de las carpetas dentro del SDK de Android según corresponda. Para el caso de Eclipse este proceso se puede hacer directo pero tarda un poco más, pero lo podemos hacer desde el menú: Window>Android SDK and AVD Manager, una vez ahí buscamos en el menú de la izquierda “Installed Packages” e instalamos todos los paquetes de Android.

https://dl-ssl.google.com/android/repository/repository.xml

Primeros Pasos en Android - Instalación del Framework

Descargar el paquete SDK que es apropiado para su equipo de desarrollo. Puede obtener la última versión desde la página de descarga de SDK. [4]

Después de descargar, desempaquetar el archivo del Android SDK a un lugar adecuado en su máquina, con sugerencia podemos guardarlo en la raíz de C:\. De forma predeterminada, los archivos de SDK están desempaquetados en un directorio llamado androide-SDK- . Anote el nombre y la ubicación del directorio SDK desempaquetado en su sistema - que tendrá que hacer referencia al directorio SDK más tarde. [4]

Si lo desea, puede agregar la ubicación del directorio principal del SDK de las herramientas a su PATH del sistema, haga clic derecho en Mi PC y seleccione Propiedades. En la pestaña Avanzada, pulse el botón Variables de entorno, y en el cuadro de diálogo que aparece, haga doble clic en Ruta (bajo Variables de sistema). Agregue la ruta completa al directorio “tools”. [4]

Primeros Pasos en Android - Instalacion Java

Descarguen java desde su sitio oficial una vez abierta la página presionamos el botón descarga gratuita de java (botón en color verde) y nos llevara a otra página, donde nos da la opción de instalarlo online o guardar el archivo en el ordenador, para este caso se escogió la de instalarlo online para ello presionan el botón que dice Windows XP/Vista/2000/2003 En línea y saldrá un dialogo que muestra la FIGURA 2, presionan el botón guardar archivo.


Figura 2(Instalación de Java)

Buscan el archivo que se guardo en su ordenador (el lugar donde se ha guardado es donde lo indique en la configuración del explorador de internet) buscas el archivo y lo ejecutas, el archivo se deberá llamar algo así jre-6u3-windows-i586-p-iftw.exe, al menos tiene que coincidir la primera parte de jre y la palabra windows si tu sistema operativo es windows.

Arquitectura de Android

Los componentes principales del sistema operativo de Android (cada sección se describe en detalle). [3] VER FIGURA 1:

• Aplicaciones: Las aplicaciones base incluirán un cliente de email, programa de SMS, calendario, mapas, navegador, contactos, y otros. Todas las aplicaciones están escritas en lenguaje de programación Java.[1]

• Framework de aplicaciones: Los desarrolladores tienen acceso completo a los mismos API’s del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar el reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario. [1]

• Bibliotecas: Android incluye un set de bibliotecas C/C++ usadas por varios componentes del sistema Android. Estas características se exponen a los desarrolladores a través del framework de aplicaciones de Android; algunas son: System C library (implementación biblioteca C standard), bibliotecas de medios, bibliotecas de gráficos, 3d, SQLite, entre otras. [1]

• Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros, y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida "dx".[1]

• Núcleo - Linux: Android depende de Linux versión 2.6 para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, stack de red, y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto del stack de software. [1] VER FIGURA 1.



Figura 1(Arquitectura de Android)

Android

Android es un sistema operativo para dispositivos móviles y computadoras basado en el núcleo Linux. Inicialmente fue desarrollado por Google y luego por la Open Handset Alliance (liderada por la propia Google). La presentación de la plataforma Android se realizó el 5 de noviembre de 2007 junto con la fundación Open Handset Alliance, un consorcio de 48 compañías de hardware, software y telecomunicaciones comprometidas a la promoción de estándares abiertos para dispositivos móviles. [1]

Esta plataforma permite el desarrollo de aplicaciones por terceros (personas ajenas a Google). Los desarrolladores deben escribir código gestionado en lenguaje de programación Java a través de SDK proporcionada por el mismo Google. Una alternativa es el uso de la NDK (Native Development Kit) de Google para hacer el desarrollo en C en código fuente. [1]

La mayoría del código fuente de Android ha sido publicado bajo la licencia de software Apache, una licencia de software libre y código fuente abierto. Google lanzó la última versión de Android, el 26 de Octubre del 2009, 2.0. [1]

Características

• Framework de aplicaciones: permite reutilización y reemplazo de componentes.

• Máquina virtual Dalvik: optimizada para dispositivos móviles.

• Navegador integrado: basado en el motor de código abierto Web Kit.

• Gráficos optimizados, con una biblioteca de gráficos 2D; gráficos 3D basado en la especificación OpenGL ES 1.0 (aceleración por hardware opcional).

• SQLite para almacenamiento de datos estructurados.

• Soporte para medios con formatos comunes de audio, vídeo e imágenes planas (MPEG4, H.264, MP3, OGG, AAC, AMR, JPG, PNG, GIF)

• Telefonía GSM (dependiente del hardware)

• Bluetooth, EDGE, 3G, y Wi-Fi (dependiente del hardware)

• Cámara, GPS, brújula, y acelerómetro (dependiente del hardware)

• Ambiente rico de desarrollo incluyendo un emulador de dispositivo, herramientas para depurar, perfiles de memoria y rendimiento, y un complemento para el IDE Eclipse.

• Pantalla táctil.

• Android Market permite que los desarrolladores pongan sus aplicaciones, gratuitas o de pago, en el mercado a través de esta aplicación accesible desde todos los teléfonos con Android.

• Además de esto, puedes acceder desde tu móvil programando diferentes utilidades y herramientas.

Limitantes

En cuanto a las limitantes de Android pueden ser muchas, eso va a depender del teléfono que se esté utilizando entonces a continuación se presenta una serie de ventajas y desventajas de Android para HTC MAGIC, ya que este es uno de los teléfonos más comunes en los cuales se utiliza Android.

Ventajas

• Facilidad de uso: Cualquier persona sin ningún conocimiento instala y desinstala aplicaciones en unos segundos.

• Miles de aplicaciones gratuitas.

• De serie viene preparada (siempre y cuando seas usuario de Gmail) para funcionar en unos segundos.

• La sensación es que es un teléfono táctil rápido, y que nunca se queda colgado.

• Las aplicaciones en segunda plano simplemente alucinantes.

Desventajas

• No es fácil de sincronizar con tus contactos como no uses los de Gmail.

• Uso intensivo de datos sin control ninguno.

• Las aplicaciones nunca tienes la sensación de que las cierras simplemente desaparecen.

• No hay marcación rápida en la aplicación teléfono (algo fundamental en un táctil).

Introducción al Proyecto Android

Cada día se lucha por ser mejor y conforme pasan los años vamos aprendiendo cosas nuevas y todo a nuestro alrededor va cambiando y muy en especial en el ciberespacio, donde las tecnologías crecen cada día, o más bien cada milésima de segundo este es un mundo que avanza a pasos agigantados y como buenos desarrolladores que pretenden o deben ir a la velocidad que caminan estas tecnologías.

Existen grandes o más bien gigantes como se les conoce hoy por hoy que controlan o marca el paso en este mundo desconocido para algunos, temido por muchos y amado ustedes; estos gigantes del ciberespacio tales como Microsoft, Apple, Linux, Yahoo y desde unos años atrás el que hoy está dando las pautas de cómo se debe mover el ciberespacio y el primer enemigo en la lista negra de estos gigantes, más conocido como Google, que desde su aparición con un simple buscador web ha sido la pesadilla de muchos.

Google es un buen ejemplo de una de las compañías más exitosas, con una estrategia de mercado bien definida y con una misión muy concreta, llegar a ser el mejor de los mejores. Como bien se mencionaba anteriormente desde la aparición del buscador web de Google, se ha desatado una serie de productos innovadores y de gran utilidad para los cibernautas, entre las herramientas brindadas por Google podemos mencionar varias como: Gmail, Google Talk, Google Maps, Google Docs, Blogger, Google Wave, Android, en pocas palabras un sinfín de herramientas de las cuales podemos recalcar pero es sobre esta ultima Android sobre la que se expone en este articulo, el famoso sistemas operativo desarrolla por Google bajo una plataforma y Kernel Linux.

En este blog se expondrán una serie post relacionados directamente con temas con Android y muy especialmente enfocado a dispositivos móviles como celulares y el desarrollo de aplicaciones mediante el SDK de Android, entre un sin fin de cosas relacionados con este tema, cualquier duda, descubrimiento que encontremos, lo compartiremos con ustedes.

Enjoy

jueves, 10 de diciembre de 2009

Guía de cómo utilizar RallyDev

Registro del Sistema

Primero se debe registrar en la página de RallyDev la cual es http://www.rallydev.com, a continuación mostraremos como realizar el registro, en la página principal daremos clic en el link de “FREE SING UP”, en la figura 1 se muestra la página principal de RallyDev


Figura 1


Luego debemos llenar el formulario de registro el cual nos generara una clave automática que enviara al correo que le suministremos a la pagina, y de este modo podremos acceder al sistema de RallyDev, a continuación en la figura 2 mostraremos la pagina de registro.


Figura 2

Con el registro listo podremos acceder a nuestra cuenta de RallyDev, la cual nos permitirá administrar nuestro proyecto, dicha página presenta las siguientes herramientas de trabajo.

1)Plan de trabajo
2)Estado del proyecto
3)Aseguramiento de la calidad
4)Reportes

Plan de trabajo

En esta opción podremos ingresar las historias de usuario, los Releases, las iteraciones y el plan de trabajo. A continuación se mostrara en la figura 3 la página referente a estas secciones de la aplicación


Figura 3

En todas las partes de la aplicación se realizar el mismo proceso para ingresar o editar los datos, es decir para ingresar un Backlog, en la parte superior derecha en el botón “Action”, nos colocaremos en dicha opción y seleccionamos “New User Story”, al hacer esto la aplicación nos desplegara figura 4, la siguiente pantalla para ingresar los datos correspondientes a la historia de usuario.


Figura 4

En esta pantalla podemos ingresar todas las historias de usuario para el proyecto, así mismo podemos ingresar los releases, las iteraciones, con lo cual se realizara el plan de trabajo. A continuación en la figura 5 y 6 se mostraran las pantallas de ingreso de releases y de iteraciones respectivamente.


Figura 5

Estado del Proyecto

Con respecto a este apartado, su función es establecer el seguimiento del proyecto tanto por iteración como por releases, el estado del equipo de trabajo entre otras herramientas. Dentro de la opción tendremos los siguientes apartados.

1.Estado de la Iteración

En este apartado podremos darle seguimiento a las iteraciones, así como las estadísticas mas importantes como los recursos asignados, que falta por realizar de la iteración entre otros, en la figura 6 apreciaremos mejor la información referente a este apartado.


Figura 6

En la parte superior derecha podemos ya sea modificar o ingresar nueva información al proyecto, también nos permite ingresar historias de usuario a la iteración.

2.Estado del Equipo de Trabajo

En esta sección podremos dar seguimiento al equipo de trabajo tanto en la carga de trabajo así como lo que ha realizado, también podemos ver a cual iteración y releaces está asignado el recurso, en la figura 7 mostramos la pantalla del estado del equipo de trabajo.


Figura 7

Para esta sección solo podemos imprimir un reporte del estado del equipo de trabajo, el cual lo realizamos en el botón “action” que se encuentra en la parte superior derecha de la aplicación.

3.Estado releases

En esta sección podremos visualizar las tareas asignadas a un releases, así como datos relevantes del releases entre los cuales tenemos el estado del mismo, la iteración que pertenece la tarea entre otros. En la figura 8 podemos apreciar con mayor detalle la información relevante a esta sección


Figura 8

Al igual que secciones anteriores, podremos modificar e ingresar información nueva en el botón “action” colocado en la parte superior derecha de la pantalla.

4.Estado general del proyecto
En esta sección podremos visualizar a un nivel general es estado del proyecto, información referente a cada iteración, en la figura 9 apreciaremos con mayor detalle la información que nos brinda esta sección.


Figura 9

Como podemos apreciar en esta sección solo nos permite visualizar la información que hemos ingresado en las secciones anteriores, la función principal de este apartado es para permitirle al administrador de proyectos una vista general de la situación del provecto.

5.Tareas

Como podemos apreciar en esta sección solo nos permite visualizar la información que hemos ingresado en las secciones anteriores, la función principal de este apartado es para permitirle al administrador de proyectos una vista general de la situación del provecto.


Figura 10

Con respecto a las secciones de aseguramiento de la calidad, ya que para efectos prácticos del curso se realizara por tarea, por lo tanto no se detalla al respecto, en la figura 11 se muestra la herramienta de RallyDev referente a calidad.


Figura 11

El otro apartado de esta aplicación es el de reportes el cual nos brinda una gran gama de gráficos referentes al proyecto en la figura 12 apreciaremos un grupo de ellos.


Figura 12

RallyDev

Es una aplicación propietaria para la administración de proyectos, orientado a las metodologías Ágil, en dicha aplicación se nos permite llevar la administración de un proyecto completo según las reglas de la metodología Ágil, la empleada para nuestro caso es SCRUM. La aplicación nos permite agregar usuarios, mantenimiento de Backlog, releases, iteraciones y plan de trabajo, además de una sección de seguimiento, tanto para las iteraciones como para el equipo de trabajo y releases, además cuenta con una gama de gráficos para reportes gerenciales, así como una sección de Quality (aseguramiento de la calidad).

Antes de iniciar con la explicación detallada de la aplicación realizaremos una breve introducción a SCRUM. Esta es una metodología Ágil para la administración de proyectos de software, en la cual se mantiene una relación muy estrecha con el cliente, como primer paso se deben crear los Backlog, dicho de otra forma es todo el saco de posibles tareas para el sistema, estas Backlog son suministradas por el usuario, se recolectan en reuniones utilizando las técnicas de recolección de requerimientos, ya que los Backlog son los requerimientos del sistema.

Grafico de quemados, esta es la herramienta que le permite al administrador de proyectos visualizar en términos generales el avance del proyecto, también es de gran ayuda ya que no se necesita tener conocimiento tecnificado para comprenderla, por lo tanto se les puede presentar a gerentes o usuarios para brindar reportes de estado del proyecto.

El proyecto se dividirá en releases (entregables) los cuales consisten en las partes que se entregaran al cliente final, se decidirá la cantidad de releases que se realizaran dependiendo de la puntuación acumulada de las distintas historias de usuario que conforman un conjunto de tareas, es decir la totalidad del proyecto se dividirá según la prioridad de entrega y de este modo se acomodaran en releases. También es importante destacar que los releases se subdividen en iteraciones las cuales constituyen las unidades grandes de grupos de historias de usuario a realizar dentro de un releace.

La herramienta para la administración de proyectos de software RallyDev nos permite administrar todos los componentes de las metodologías Ágil, así mismo nos permite darle seguimiento a las iteraciones así como a las distintas unidades del proyecto. A continuación se realizara un manual explicativo de cómo utilizar la herramienta RallyDev en su versión Web.