Download SDK Parte 1 nuevo
Document related concepts
no text concepts found
Transcript
Archivos y Carpetas de un proyecto Android Android SDK martes 4 de octubre de 16 Android SDK • Lo primero que conviene que conozcas es que un proyecto en Android Studio puede contener varios módulos. • Cada módulo corresponde a una aplicación o ejecutable diferente. • Disponer de varios módulos en un mismo proyecto nos será muy útil cuando queramos crear varias versiones de nuestra aplicación, para dispositivo móvil, Wear, TV, Glass, etc. martes 4 de octubre de 16 Android SDK • También si queremos crear varias versiones de nuestra aplicación con nivel mínimo de SDK diferentes. • Cada módulo en Android está formado por un descriptor de la aplicación (manifests), el código fuente en Java (java), una serie de archivos con recursos (res) y archivos para construir el módulo (Gradle Scripts). • Cada elemento se almacena en una carpeta específica, que hemos indicado entre paréntesis. • No te asustes con el exceso de información. Más adelante se dará más detalles sobre la finalidad de cada archivo. martes 4 de octubre de 16 martes 4 de octubre de 16 AndroidManifest.xml: Este archivo describe la aplicación Android. Se define su nombre, paquete, icono, estilos, etc. Se indican las actividades, las intenciones, los servicios y los proveedores de contenido de la aplicación. También se declaran los permisos que requerirá la aplicación. Se indica la versión mínima de Android para poder ejecutarla, el paquete Java, la versión de la aplicación, etc. martes 4 de octubre de 16 java: Carpeta que contiene el código fuente de la aplicación. Como puedes observar los ficheros Java se almacenan en carpetas según el nombre de su paquete.Texto MainActivity: Clase Java con el código de la actividad inicial. ApplicationTest: Clase Java pensada para insertar código de testeo de la aplicación utilizando el API JUnit. res: Carpeta que contiene los recursos usados por la aplicación drawable: En esta carpeta se almacenan los archivos de imágenes (JPG o PNG) y descriptores de imágenes en XML. martes 4 de octubre de 16 Mipmap: Es una carpeta con la misma finalidad que res/drawable. La única diferencia es que si ponemos los gráficos en mipmap, estos no son rescatados para adaptarlos a la densidad gráfica del dispositivo donde se ejecuta la aplicación, sino que se buscará en las subcarpetas el gráfico con la densidad más parecida y se utilizará directamente. Es recomendable guardar los iconos de aplicación en esta carpeta. En el proyecto se ha incluido el archivo ic_launcher.png que será utilizado como icono de la aplicación. Observa como este recurso se ha añadido en cuatro versiones diferentes. Como veremos en el siguiente capítulo, usaremos un sufijo especial si queremos tener varias versiones de un recurso, de forma que solo se cargue al cumplirse una determinada condición. Por ejemplo: (hdpi) significa que solo ha de cargar los recursos contenidos en esta carpeta cuando el dispositivo donde se instala la aplicación tiene una densidad gráfica alta (180-dpi); (mdpi) se utilizará con densidad gráfica alta (180-dpi). Si pulsas sobre las diferentes versiones del recurso, observarás como se trata del mismo icono pero con más o menos resolución, de forma que en función de la densidad gráfica del dispositivo se ocupe un tamaño similar en la pantalla. martes 4 de octubre de 16 layout: Contiene archivos XML con vistas de la aplicación. Las vistas nos permitirán configurar las diferentes pantallas que compondrán la interfaz de usuario de la aplicación. Se utiliza un formato similar al HTML usado para diseñar páginas web values: También utilizaremos archivos XML para indicar valores usados en la aplicación, de esta manera podremos cambiarlos desde estos archivos sin necesidad de ir al código fuente. En colors.xml se definen los tres colores primarios de la aplicación. En dimens.xml, se ha definido el margen horizontal y vertical por defecto. Observe como hay dos archivos, el usado por defecto y el etiquetado como (w820dp) que será utilizado en dispositivos con ancho superior a 820 dp, esto ocurrirá en tabletas. En el archivo strings.xml, tendrás que definir todas las cadenas de caracteres de tu aplicación. Creando recursos alternativos resultará muy sencillo traducir una aplicación a otro idioma. Finalmente en styles.xml, podrás definir los estilos y temas de tu aplicación. martes 4 de octubre de 16 Gradle Scripts: En esta carpeta se almacenan una serie de archivos Gradle que permiten compilar y construir la aplicación. Observa como algunos hacen referencia al módulo app y el resto son para configurar todo el proyecto. El Archivo más importante es build.gradle (Module:app) que es donde se configuran las opciones de compilación del módulo: martes 4 de octubre de 16 Componentes de una Aplicación • Existe una serie de elementos clave que resultan imprescindibles para desarrollar aplicaciones en Android. • • Vista (View) • Todas las vistas van a ser objetos descendientes de la clase View, y por tanto, pueden ser definidas utilizando código Java. Sin embargo, lo habitual será definir las vistas utilizando un Archivo XML y dejar que el sistema cree los objetos por nosotros a partir de este archivo. • Esta forma de trabajar es muy similar a la definición de una página web utilizando código HTML. martes 4 de octubre de 16 Las vistas son los elementos que componen la interfaz de usuario de una aplicación: por ejemplo, un botón o una entrada de texto. Componentes de una Aplicación • • Layout • Vamos a disponer de diferentes tipos de layouts para organizar las vistas de forma lineal, en cuadrícula o indicando la posición absoluta de cada vista. • Los layouts también son objetos descendientes de la clase View. Igual que las vistas, los layouts pueden ser definidos en código, aunque la forma habitual de definirlos es utilizando código XML. martes 4 de octubre de 16 Un layout es un conjunto de vistas agrupadas de una determinada forma. Componentes de una Aplicación • • Actividad (Activity) • En Android cada uno de estos elementos, o pantallas, se conoce como actividad. • • Su función principal es la creación de la interfaz de usuario. martes 4 de octubre de 16 Una aplicación en Android va a estar formada por un conjunto de elementos básicos de visualización, coloquialmente conocidos como pantallas de la aplicación. Una aplicación suele necesitar varias actividades para crear la interfaz de usuario. Las diferentes actividades creadas serán independientes entre sí, aunque todas trabajarán para un objetivo común. Toda actividad ha de pertenecer a una clase descendiente de Activity. Componentes de una Aplicación • • Servicio (Service) • Es algo parecido a un demonio en Unix o a un servicio en Windows. En Android disponemos de dos tipos de servicios: servicios locales, que son ejecutados en el mismo proceso y servicios remotos, que son ejecutados en procesos separados. martes 4 de octubre de 16 Un servicio es un proceso que se ejecuta “detrás”, sin la necesidad de una interacción con el usuario. Componentes de una Aplicación • Intención (Intent) • Una intención representa la voluntad de realizar alguna acción; como realizar una llamada de teléfono, visualizar una página web. Se utiliza cada vez que queramos: • Lanzar una actividad • Lanzar un servicio martes 4 de octubre de 16 Componentes de una Aplicación • • Fragment • Si diseñamos una aplicación pensada para un dispositivo móvil y luego la ejecutamos en una tableta, el resultado no suele resultar satisfactorio. • Para ayudar al diseñador a resolver este problema, en la versión 3.0 de Android aparecen los fragments. Un fragment está formado por la unión de varias vistas para crear un bloque funcional de la interfaz de usuario. Una vez creados los fragments, podemos combinar uno o varios fragments dentro de una actividad, según el tamaño de pantalla disponible. martes 4 de octubre de 16 La llegada de las tabletas trajo el problema de que las aplicaciones de Android ahora deben soportar pantallas más grandes.