miércoles, 26 de abril de 2017

Layouts

¿Qué es un Layout? y ¿Para que sirve?

En java, cuando hacemos ventanas, la clase que decide cómo se reparten los botones (Y demás controles) dentro de la ventana se llama Layout. Esta clase es la que decide en qué posición van los botones y demás componentes, si van alineados, en forma de matriz, cuáles se hacen grandes al agrandar la ventana, etc. Otra cosa importante que decide el Layout es qué tamaño es el ideal para la ventana en función de los componentes que lleva dentro.Con un layout adecuado, el método pack() de la ventana hará que coja el tamaño necesario para que se vea todo lo que tiene dentro.

El layout, en este sentido, puede ser una especie de plantilla que presenta tablas o espacios en blanco. La idea es que, a partir del layout, la página web comience a desarrollarse con sus contenidos específicos. El layout puede estar compuesto, por ejemplo, por un rectángulo a modo de cabezal y por tres columnas. Dicho esquema es genérico y puede usarse para desarrollar múltiples sitios web.

Estructura de carpetas de un proyecto Android

Carpeta /src/
Esta carpeta contendrá todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de la pantalla (Activity) principal de la aplicación, que recordemos que en nuestro caso era MainActivity, y siempre bajo la estructura del paquete java definido.



Carpeta /gen/

Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente java dirigidos al control de los recursos de la aplicación. Importante: dado que estos ficheros se generan automáticamente tras cada compilación del proyecto es importante que no se modifiquen manualmente bajo ninguna circunstancia.
Carpeta /bin/

Ésta es otra de ésas carpetas que en principio no tendremos por qué tocar. Contiene los elementos compilados de la aplicación y otros ficheros auxiliares. Cabe destacar el fichero con extensión “.apk”, que es el ejecutable de la aplicación que se instalará en el dispositivo


Carpeta /libs/


Contendrá las librerías auxiliares, normalmente en formato “.jar” que utilicemos en nuestra aplicación Android.

Carpeta /assets/


Contiene todos los demás ficheros auxiliares necesarios para la aplicación (y que se incluirán en su propio paquete), como por ejemplo ficheros de configuración, de datos, etc.
La diferencia entre los recursos incluidos en la carpeta /res/raw/ y los incluidos en la carpeta /assets/ es que para los primeros se generará un ID en la clase R y se deberá acceder a ellos con los diferentes métodos de acceso a recursos. Para los segundos sin embargo no se generarán ID y se podrá acceder a ellos por su ruta como a cualquier otro fichero del sistema. Usaremos uno u otro según las necesidades de nuestra aplicación.



Carpeta /res/
Contiene todos los ficheros de recursos necesarios para el proyecto: imágenes, vídeos, cadenas de texto, etc. Los diferentes tipos de recursos se distribuyen entre las siguientes subcarpetas:


CarpetaDescripción
/res/drawable/Contiene las imágenes [y otros elementos gráficos] usados en por la aplicación. Para definir diferentes recursos dependiendo de la resolución y densidad de la pantalla del dispositivo se suele dividir en varias subcarpetas:
  • /drawable-ldpi (densidad baja)
  • /drawable-mdpi (densidad media)
  • /drawable-hdpi (densidad alta)
  • /drawable-xhdpi (densidad muy alta)
/res/layout/Contiene los ficheros de definición XML de las diferentes pantallas de la interfaz gráfica. Para definir distintos layouts dependiendo de la orientación del dispositivo se puede dividir en dos subcarpetas:
  • /layout (vertical)
  • /layout-land  (horizontal)
/res/anim//res/animator/Contienen la definición de las animaciones utilizadas por la aplicación.
/res/color/Contiene ficheros XML de definición de colores según estado.
/res/menu/Contiene la definición XML de los menús de la aplicación.
/res/xml/Contiene otros ficheros XML de datos utilizados por la aplicación.
/res/raw/Contiene recursos adicionales, normalmente en formato distinto a XML, que no se incluyan en el resto de carpetas de recursos.
/res/values/Contiene otros ficheros XML de recursos de la aplicación, como por ejemplo cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), arrays de valores (arrays.xml), etc.

Como crear la primera aplicacion Android

Como crear la primera aplicación Android                                       

Para realizar nuestro primer programa en Android siga los siguientes pasos:



  1. Abra el programa de "Eclipse".
  2. Inicie un nuevo programa por medio de File/New/Android Application Project
  3. Seleccione un nombre para su Proyecto, (Ejemplo: Práctica1) y seleccionar la versión de Android que vaya a necesitar.
  4. Damos a aceptar a todo y "Finalizar"
  5. Automáticamente el programa se abrirá y podemos empezar a darle uso.
  6. Al seleccionar la pestaña *activity_main.xml podremos ver el modo diseño el cual ya cuenta con el típico "Hola Mundo".
  7. Corremos el programa para poder compilar y ver el funcionamiento del programa, y listo.





Proceso de instalación del programa eclipse con el plugin de android

Paso 1. Descarga e Instalación de Eclipse


Si aún no tienes instalado Eclipse, puedes descargar la última versión (3.7 en el momento de escribir estas líneas) desde este enlace. Recomiendo descargar por ejemplo la versión “Eclipse IDE for Java Developers”. La instalación consiste simplemente en descomprimir el ZIP en la ubicación deseada.
entornos-de-desarrollo-para-dispositivos-moviles-eclipse
Eclipse, Entorno de desarrollo que Permite Crear Proyectos Android.

Paso 2. Descargar el SDK de Android

El SDK de Android se puede descargar desde este enlace (la última versión disponible en el momento de escribir este tema es la r15). Una vez descargado, de nuevo bastará con descomprimir el zip en cualquier ubicación.

entornos-de-desarrollo-para-dispositivos-moviles-android-sdk
Android SDK Administrador

Paso 3. Descargar el Plugin ADT Android para Eclipse

Google pone a disposición de los desarrolladores un plugin para Eclipsellamado Android Development Tools (ADT) que facilita en gran medida el desarrollo de aplicaciones para la  plataforma. Podéis descargarlo mediante las opciones de actualización de Eclipse, accediendo al menú “Help / Install new software…” e indicando la URL de descarga:


Se debe seleccionar e instalar el paquete completo Developer Tools, formado por Android DDMS Android Development Tools.

entornos-de-desarrollo-para-dispositivos-moviles-android-ADT
ADT plugins de Android


Paso 4. Configurar el Plugin ADT

En la ventana de configuración de Eclipse, se debe acceder a la sección deAndroid e indicar la ruta en la que se ha instalado el SDK (paso 2).
entornos-de-desarrollo-para-dispositivos-moviles-android-configurar-ADT
Configurar ADT


Paso 5. Descargar los Targets Necesarios

Además del SDK de Android comentado en el paso 2, también debemos descargar los llamados SDK Targets de Android, que no son más que las librerías necesarias para desarrollar en cada una de las versiones concretas de Android. Así, si queremos desarrollar por ejemplo para Android 1.6 tendremos que descargar su target correspondiente. Para ello, desde Eclipse debemos acceder al menú “Windows / Android SDK and AVD Manager“, y en la sección Available Packages seleccionar e instalar todos los paquetes deseados.


Paso 6. Configurar un AVD

A la hora de probar y depurar aplicaciones Android no tendremos que hacerlo necesariamente sobre un dispositivo físico, sino que podremos configurar un emulador o dispositivo virtual (Android Virtual Device, o AVD) donde poder realizar fácilmente estas tareas. Para ello, volveremos a acceder al AVD Manager, y en la sección Virtual Devices podremos añadir tantos AVD como se necesiten (por ejemplo, configurados para distintas versiones de Android). Para configurar el AVD tan sólo tendremos que indicar un nombre descriptivo, el target de Android que utilizará, y las características de hardware del dispositivo virtual, como por ejemplo su resolución de pantalla, el tamaño de la tarjeta SD, o la disponibilidad de GPS.

entornos-de-desarrollo-para-dispositivos-moviles-android-AVD-manager
Configurar el Administrador de AVD


entornos-de-desarrollo-para-dispositivos-moviles-android-AVD-manager-2
Configurar AVD Manager, Nuevo Dispositivo


Paso 7. Primer Proyecto ¡Hola Mundo! en Android.

Creamos un nuevo proyecto de tipo Android Project. Indicamos su nombre, el target deseado, el nombre de la aplicación, el paquete java por defecto para nuestras clases y el nombre de la clase (activity) principal.
Creacion-del-Proyecto-Android-Aplication-Projet-1
Creación del Proyecto en Archivo/Nuevo/Otro/Android Aplication Projet


Creacion-del-Proyecto-Android-Aplication-Projet-2
Creación del Proyecto, Android Aplication Projet


Creacion-del-Proyecto-Android-Aplication-Projet-3
Creación del Proyecto, Asignar Nombre y Seleccionar Versión SDK