jueves, 25 de diciembre de 2014

Layouts en Android

image

Los layouts en Android son elementos no visuales que se usan para controlar la distribución, posición y dimensiones de los componentes que se inserten en su interior. En Android podemos usar dos formas para declarar layouts: la primera mediante código java y la segunda a partir de ficheros XML. Si comparamos estas dos formas, es sin dudas la segunda la más factible por varias razones entre las que se encuentra que existen herramientas visuales donde el programador o el diseñador pueden, de manera fácil diseñar una interfaz de usuario, otra ventaja es que es importante en términos de arquitectura tener separado la lógica de la interfaz de usuario de forma tal que si necesitamos hacer algunos ajustes en el diseño de la aplicación no conlleve a hacer grandes cambios en la aplicación.

En Android, los ficheros de layout codificados en XML se consideran recursos y se guardan dentro del directorio res/layout del proyecto.

Cada fichero XML está formado por un árbol de elementos que describen la forma en que los componentes y contenedores se acomodarán para definir la parte visual. Cada uno de estos elementos tiene atributos que se denominan propiedades y son las que describen cómo es que deben verse los elementos y su comportamiento en un contenedor.

Para cada elemento del XML se tendrá un nombre correspondiente a la clase base de ldirectorio Android. Por ejemplo si existe un elemento Button en el XML, se deberá tener un objeto de la clase Button en el código java.

Cuando una aplicación requiere hacer referencia desde el código java a uno de los elementos del XML es importante que el elemento tenga un identificador, la convención a utilizar para darle este valor de id es @+id/[nombreElemento] Este nombre tiene que ser único.

Después de haber diseñado la interfaz de usuario, es necesario compilar la aplicación para que en la clase R.java se genere un id que Android maneja de manera interna y que permite llamar a los ficheros desde el código java.

Dentro del método onCreate() de la actividadse escribirá la sentencia setLayoutView() con el parámetro R.layout.[nombreDelFicheroXML]. Si se quiere hacer uso del elemento en específico se usa el método findViewById() y se le pasa como parámetro el id del componente. Por ejemplo:

btn = (Button) findViewById(R.id.btn);

Con esta breve explicación acerca de los layouts y su definición en un fichero XML tenemos algunos elementos para el diseño de una aplicación Android, aunque sería bueno abundar un poco más en el tema para aprovechar más las potencialidades de estos recursos, de forma tal que hagamos aplicaciones más eficientes.

{ Leer Más }


lunes, 15 de diciembre de 2014

Conociendo la estructura de un proyecto Android.

En los artículos anteriores sobre la programación en Android, vimos una breve reseña de lo que es Android y su historia y luego abordamos cómo preparar nuestro ambiente de desarrollo para estar listos para adentrarnos en este fascinante mundo.

Pero antes de escribir una línea de código es importante conocer la estructura de un proyecto Android de forma que a la hora de programar podamos saber de forma exacta donde encontrar cada recurso.

Cuando creamos un proyecto de Android en Eclipse se crean una serie de carpetas y ficheros para luego generar la aplicación. Esta estructura será común para cualquier tipo de aplicaciones, independientemente de la versión para la que la estemos desarrollando o su complejidad.

A continuación veremos una imagen con la estructura inicial de Android:

image

Para un mejor entendimiento vamos a explicar los elementos principales de esta estructura de ficheros.

Carpeta src

Como su nombre lo sugiere, es en esta carpeta donde estará todo el código fuente de la aplicación, la programación de la interfaz gráfica, clases auxiliares, entre otras. En un inicio se creará el código elemental del Activity principal de la aplicación.

Carpeta res

Es en esta carpeta donde estarán los recursos necesarios que se utilizarán en la aplicación como son los textos, las imágenes, los videos, entre otros. Dentro de la carpeta res existen otras carpetas con el objetivo de organizar aún mejor los recursos.

image

Vamos a dar un breve repaso de lo que son cada una de destas carpetas

drawable: Contiene las imágenes. Se puede dividir en drawable-ldpi, drawable-mdpi y drawable-hdpi. Los recursos se pondrán en cada una de estas carpetas dependiendo de la resolución del dispositivo que esté consumiendo la aplicación.

layout: Contiene la estructura XML de las pantallas de la interfaz gráfica. Esta carpeta se puede subdividir en layout y layaout-land para diferenciar por la orientación del dispositivo.

anim: Contiene las animaciones de la aplicación.

menú: Contiene la definición de los menús de la aplicación.

values: Contiene recursos como son los textos, los estilos, los colores, entre otros.

xml: Contiene los ficheros XML utilizados por la aplicación.

raw: Contiene recursos adicionales que no sean XML.

Carpeta gen

Es en esta carpeta donde se almacena el código que se genera automáticamente al compilar el proyecto. De estos códigos es importante particularizar en el fichero R.java que es la que contiene la clase R que es donde se almacenan una serie de constantes con los ID de los recursos incluidos en la carpeta res. Esto nos posibilita que desde el código podamos acceder fácilmente a estos recursos.

Carpeta assets

En esta carpeta se van a almacenar los ficheros auxiliares. La diferencia de estos ficheros con los de que se pondrán en la carpeta res/draw es que estos últimos se podrán acceder desde el código a través de la ya mencionada clase R mientras que los de la carpeta assets se tendrá que acceder a través de su ruta.

Fichero AndroidManifest.xml

Es un fichero escrito en XML con los aspectos principales de la aplicación. Ahí nos vamos a encontrar el nombre, los componentes que usan, los permisos de la aplicación entre otras cosas.

Esto es lo esencial de la estructura de ficheros de un proyecto Android, conociendo esto, ya estaremos listos para próximamente desarrollar una pequeña aplicación para Android.

{ Leer Más }


martes, 9 de diciembre de 2014

Entorno de desarrollo en android.

clip_image001

En este tutorial aprenderemos cómo preparar el entorno de trabajo para comenzar a hacer aplicaciones para el sistema operativo Android.

Lo primero que debemos hacer es descargar los archivos y programas necesarios:

· IDE Eclipse que se puede descargar desde este link.

· SDK de Android que se puede descargar en la página de Android developers. Este paquete incluye muchas herramientas que nos van a hacer de mucha utilidad a la hora de programar para Android.

· Plugin ADT, que es un plugin para hacer de eclipse un ide ideal para hacer aplicaciones Android.

Primero debemos comprobar que nuestra computadora tienes los requerimientos mínimos que son necesarios para que todo se instale bien. Esto se puede hacer leyéndolo en la página de Android developers.

Si el eclipse que tenemos está en un compactado, lo extraemos y lo ponemos en cualquier carpeta de nuestra PC. Cuando ejecutamos el eclipse lo primero que nos pide es una dirección que es donde el eclipse guardará todos los proyectos que vayamos creando. Si queremos que esto no nos lo pida más pues elegimos la opción de no preguntar de nuevo.

Ahora vamos a encargarnos del SDK. Este puede estar en un compactado o en un ejecutable. Si fuera un compactado pues lo extraemos en lo ponemos en cualquier carpeta de nuestra PC, si es un ejecutable pues en uno de los pasos nos pedirá la dirección de la carpeta hacia donde queremos instalar el SDK.

Es importante señalar que para que todo esto que estamos montando funcione es necesario el entorno Java por lo que busca los instaladores necesarios para que esto esté correctamente instalado en tu PC.

Para instalar el ADT podemos hacerlo de dos formas, la primera es en nuestro Eclipse vamos a la opción Help -> Install New Software… Damos un click sobre el botón Add, en el cuadro de Add Repository escribimos “ADT Plugin” en el campo Name y en Location escribimos la URL https://dl-ssl.google.com/android/eclipse/. Otra forma de hacer esto es descargarndo el plugin de internet y obteniéndolo de alguna otra vía y copiando en la carpeta plugins que está en el directorio donde esta intalado nuestro Eclipse.

Ahora vamos a decirle al Eclipse dónde es que está el SDK de Android. Para esto vamos a la opción Window -> Preferences… ahí seleccionamos la opción Android del panel de la izquierda y seleccionamos Browse… donde elegiremos la carpeta donde pusimos o instalamos nuestro SDK.

Ya casi tenemos listo nuestro entorno de desarrollo, ahora vamos a descargar los componentes esenciales de SDK. El SDK separa los elementos principales en componentes que se pueden instalar por separado. Para poder desarrollar en Android necesitamos al menos descargar una plataforma Android con sus herramientas asociadas por lo que vamos a Windows -> Android SDK and AVD Manager y elegimos Avaible packages en el panel de la izquierda. En el panel de la derecha vamos a poder ver todas las opciones disponibles para descargar.

clip_image002

De este listado podrás seleccionar todas aquellas que quieras. Las plataformas se adaptan a la versión de Android por lo que si su teléfono tiene instalado Android 2.2 pues deberá descargar esta plataforma o una de las inferiores para poder probar las aplicaciones en él. Dependiendo del número de plataformas y componentes que hayas decidido descargarte, esta parte puede tardarte un poco.

Con estos pasos hemos configurado nuestro entorno para comenzar a desarrollar para Android. Ya estamos listo para hacer nuestra primera aplicación. Espero que les haya sido de ayuda.

{ Leer Más }


jueves, 4 de diciembre de 2014

¿Qué es Android?

image

Imagino que en la actualidad hablar de Android debe ser un tema bastante conocido para todos, pero en este artículo trataré de contar en pocas palabras la historia del que se ha convertido en el sistema operativo más usado en los celulares del mundo.

La historia de Android comienza cuando el empresario y desarrollador Andy Rubin se le ocurrió la idea de desarrollar un sistema operativo para celulares basado en la filosofía Open Source, de forma de que fuera de código abierto, adaptable a cualquier hardware y que tuviera un entorno de desarrollo único que permitiera crear aplicaciones que corrieran en el sistema operativo y que cualquier hardware lo soportara.

El sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic. El sistema operativo está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++.

clip_image002

Android tiene una gran cantidad de desarrolladores que escriben aplicaciones para extender la funcionalidad de los dispositivos. En la actualidad existen más de 1 millón de aplicaciones, de las cuales dos tercios son gratis.

El sistema operativo ha tenido numerosas actualizaciones desde su liberación inicial. Estas actualizaciones básicamente arreglan bugs y agregan nuevas funcionalidades. Es interesante el hecho de que estas actualizaciones se han desarrollado bajo un nombre relacionado con postres en orden alfabético.

Para nosotros los programadores existen muchas oportunidades de poder hacer nuestro aporte a esta gran cantidad de aplicaciones existentes. Las aplicaciones de desarrollan habitualmente en el lenguaje java con Android Software Development Kit (Android SDK) pero existen otras herramientas de desarrollo incluyendo un Kit de Desarrollo Nativo para aplicaciones o extensiones en C, C++, Google App Inventor, un entorno visual para programadores novatos e incluso el Mono for Android, una aplicación para convertir aplicaciones de Windows pone en aplicaciones Android. También es posible usar bibliotecas Qt gracias al proyecto Necesitas SDK.

El desarrollo de aplicaciones para Android no requiere aprender lenguajes complejos de programación, todo lo que hace falta es un conocimiento básico en Java y tener el kit de desarrollo de software (SDK) el cual se puede adquirir gratuitamente.

Con este breve recuento del sistema operativo Android espero que los que todavía no lo conocen se documenten más sobre el mismo y que los desarrolladores de software comiencen a adentrarse en el fascinante mundo del desarrollo de aplicaciones Android.

{ Leer Más }


IconIconIcon