Tema 01 - Introduccion a Android

27
DESARROLLO EN DISPOSITIVOS MOVILES INTRODUCCION

description

Android

Transcript of Tema 01 - Introduccion a Android

  • DESARROLLO EN DISPOSITIVOS MOVILESINTRODUCCION

  • INTRODUCCIONCurso de Androidhttp://www.youtube.com/playlist?list=PL7EA29F3B739286CA

  • INTRODUCCIONRequerimientosEntorno de desarrollo o SDK de Androidhttp://developer.android.com/intl/es/sdk/index.html

    IDE Java (Eclipse/Netbeans)

  • INTRODUCCIONEstructura de un proyecto AndroidPara empezar a comprender cmo se construye una aplicacin Android vamos a echar un vistazo a la estructura general de un proyecto tipo.Cuando creamos un nuevo proyecto Android en Eclipse se genera automticamente la estructura de carpetas necesaria para poder generar posteriormente la aplicacin. Esta estructura ser comn a cualquier aplicacin, independientemente de su tamao y complejidad.

    En la siguiente imagen vemos los elementos creados inicialmente para un nuevo proyecto Android:

  • INTRODUCCION

  • INTRODUCCIONCarpeta /src/Contiene todo el cdigo fuente de la aplicacin, cdigo de la interfaz grfica, clases auxiliares,etc. Inicialmente, Eclipse crear por nosotros el cdigo bsico de la pantalla (Activity) principal de la aplicacin, siempre bajo la estructura del paquete java definido.

  • INTRODUCCIONCarpeta /res/Contiene todos los ficheros de recursos necesarios para el proyecto: imgenes, vdeos, cadenas de texto, etc. Los diferentes tipos de recursos de debern distribuir entre las siguientes carpetas:

  • INTRODUCCIONCarpeta /res/

  • INTRODUCCIONCarpeta /gen/Contiene una serie de elementos de cdigo generados automticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilacin de Android genera por nosotros una serie de ficheros fuente en java dirigidos al control de los recursos de la aplicacin.

  • INTRODUCCIONCarpeta /gen/El ms importante es el que se puede observar en la imagen, el fichero R.java, y la clase R.Esta clase R contendr en todo momento una serie de constantes con los ID de todos los recursos de la aplicacin incluidos en la carpeta /res/, de forma que podamos acceder fcilmente a estos recursos desde nuestro cdigo a travs de este dato. As, por ejemplo, la constante R.drawable.icon contendr el ID de la imagen icon.png contenida en la carpeta /res/drawable/. Veamos como ejemplo la clase R creada por defecto para un proyecto nuevo:

  • INTRODUCCIONCarpeta /assets/Contiene todos los dems ficheros auxiliares necesarios para la aplicacin (y que se incluirn en su propio paquete), como por ejemplo ficheros de configuracin, 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 mtodos de acceso a recursos. Para los segundos sin embargo no se generarn ID y se podr acceder a ellos por su ruta como a cualquier otro fichero del sistema. Usaremos uno u otro segn las necesidades de nuestra aplicacin.

  • INTRODUCCIONFichero AndroidManifest.xmlContiene la definicin en XML de los aspectos principales de la aplicacin, como por ejemplo su identificacin (nombre, versin, icono, ), sus componentes (pantallas, mensajes, ), o los permisos necesarios para su ejecucin.

  • COMPONENTESLas actividades (activities) representan el componente principal de la interfaz grfica de una aplicacin Android. Se puede pensar en una actividad como el elemento anlogo a una ventana en cualquier otro lenguaje visual.Activity

  • COMPONENTESLos servicios son componentes sin interfaz grfica que se ejecutan en segundo plano. En concepto, son exactamente iguales a los servicios presentes en cualquier otro sistema operativo. Los servicios pueden realizar cualquier tipo de acciones, por ejemplo actualizar datos, lanzar notificaciones, o incluso mostrar elementos visuales (p.ej. activities) si se necesita en algn momento la interaccin con del usuario.Service

  • COMPONENTESLos objetos view son los componentes bsicos con los que se construye la interfaz grfica de la aplicacin, anlogo por ejemplo a los controles de Java o .NET. De inicio, Android pone a nuestra disposicin una gran cantidad de controles bsicos, como cuadros de texto, botones, listas desplegables o imgenes, aunque tambin existe la posibilidad de extender la funcionalidad de estos controles bsicos o crear nuestros propios controles personalizados.View

  • COMPONENTESUn content provider es el mecanismo que se ha definido en Android para compartir datos entre aplicaciones. Mediante estos componentes es posible compartir determinados datos de nuestra aplicacin sin mostrar detalles sobre su almacenamiento interno, su estructura, o su implementacin. De la misma forma, nuestra aplicacin podr acceder a los datos de otra atravs de los content provider que se hayan definido.Content Provider

  • COMPONENTESUn broadcast receiver es un componente destinado a detectar y reaccionar ante determinados mensajes o eventos globales generados por el sistema (por ejemplo: Batera baja, SMS recibido, Tarjeta SD insertada, ) o por otras aplicaciones (cualquier aplicacin puede generar mensajes (intents, en terminologa Android) broadcast, es decir, no dirigidos a una aplicacin concreta sino a cualquiera que quiera escucharlo).Broadcast Receiver

  • COMPONENTESLos widgets son elementos visuales, normalmente interactivos, que pueden mostrarse en la pantalla principal (home screen) del dispositivo Android y recibir actualizaciones peridicas.Permiten mostrar informacin de la aplicacin al usuario directamente sobre la pantalla principal.Widget

  • COMPONENTESUn intent es el elemento bsico de comunicacin entre los distintos componentes Android que hemos descrito anteriormente. Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicacin o entre distintas aplicaciones.Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicacin, etc.Intent

  • COMPONENTESUn intent es el elemento bsico de comunicacin entre los distintos componentes Android que hemos descrito anteriormente. Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicacin o entre distintas aplicaciones.Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicacin, etc.Intent

  • INTERFAZLayoutsLos layouts son elementos no visuales destinados a controlar la distribucin, posicin y dimensiones de los controles que se insertan en su interior. Estos componentes extienden a la clase base ViewGroup, como muchos otros componentes contenedores, es decir, capaces de contener a otros controles.

  • INTERFAZBotonesEn esta primera parada sobre el tema nos vamos a centrar en los diferentes tipos de botones y cmo podemos personalizarlos. El SDK de Android nos proporciona tres tipos de botones: el clsico (Button), el de tipo on/off (ToggleButton), y el que puede contener una imagen (ImageButton). En la imagen siguiente vemos el aspecto por defecto de estos tres controles.

  • INTERFAZEventos del BotnEl ms comn de todos ellos y el que querremos capturar en la mayora de las ocasiones es el evento onClick. Para definir la lgica de este evento tendremos que implementarla definiendo un nuevo objeto View.OnClickListener() y asocindolo al botn mediante el mtodo setOnClickListener().

  • INTERFAZTextviewEl control TextView es otro de los clsicos en la programacin de GUIs, las etiquetas de texto, y se utiliza para mostrar un determinado texto al usuario. Al igual que en el caso de los botones, el texto del control se establece mediante la propiedad android:text. A parte de esta propiedad, la naturaleza del control hace que las ms interesantes sean las que establecen el formato del texto mostrado, que al igual que en el caso de los botones son las siguientes: android:background (color de fondo), android:textColor (color del texto), android:textSize (tamao de la fuente) y android:typeface (estilo deltexto: negrita, cursiva, ).

  • INTERFAZCheckboxes y RadioButtonsUn control checkbox se suele utilizar para marcar o desmarcar opciones en una aplicacin, y en Android est representado por la clase del mismo nombre, CheckBox. La forma de definirlo en nuestra interfaz y los mtodos disponibles para manipularlos desde nuestro cdigo son anlogos a los ya comentados para el control ToggleButton. De esta forma, para definir un control de este tipo en nuestro layout podemos utilizar el cdigo siguiente, que define uncheckbox con el texto Mrcame:

  • INTERFAZCheckboxes y RadioButtonsAl igual que los controles checkbox, un radio button puede estar marcado o desmarcado, pero en este caso suelen utilizarse dentro de un grupo de opciones donde una, y slo una, de ellas debe estar marcada obligatoriamente, es decir, que si se marca una de ellas se desmarcar automticamente la que estuviera activa anteriormente. En Android, un grupo de botones RadioButton se define mediante un elemento RadioGroup, que a su vez contendrtodos los elementos RadioButton necesarios. Veamos un ejemplo de cmo definir un grupo de dos controles RadioButton en nuestra interfaz.

  • INTERFAZCheckboxes y RadioButtons