Sunteți pe pagina 1din 4

Conceptos Bsicos Android

Android se compone de varias carpetas, pero lo que instalamos en nuestros mviles es un nico
fichero con extensin .apk. Los ficheros de paquetes de aplicaciones o apk, son generados por la
herramienta apkbuilder una vez terminada la compilacin (clipse se encarga de hacerlo todo!
contienen todo lo necesario para que la aplicacin funcione.
n Android a nivel de e"ecucin nuestras aplicaciones tienen su propio entorno seguro de
e"ecucin#
$or defecto, cada aplicacin se e"ecutar% en su propio proceso Linux. l sistema lo crear%
cuando llamemos a la aplicacin & lo destruir% cuando la aplicacin no ha&a sido usada
durante un rato & se necesiten recursos para otra aplicacin.
'ada proceso correr% su propia m%quina virtual. As( pues cada aplicacin correr% aislada del
resto. sto permite que, ante un hipot)tico fallo de la aplicacin solo se vea afectada su
m%quina virtual, no el resto, con lo que el sistema seguir(a corriendo sin problema.
$or defecto*, a cada aplicacin se le asigna un identificador de usuario (uid! distinto. Los
permisos de los archivos referentes a la aplicacin (datos, cach), etc.! son puestos de tal
forma que solo este usuario pueda acceder a ellos quedando vetados al resto de aplicaciones.
+tra caracter(stica que diferencia a Android es la reutilizacin de componentes de una aplicacin
por otra, &a veremos algn e"emplo mas especifico de esto mas adelante, pero b%sicamente, es que
android nos ,facilita, mini aplicaciones que podemos usar en las nuestras, es decir, si necesitamos
que nuestra aplicacin tome una foto, no tendremos que programar en nuestra aplicacin un
interface para comunicar con la c%mara, basta con llamar desde nuestra aplicacin a una de estas
,mini-aplicaciones, en este caso la c%mara, & esta nos devolver% la foto, ahorr%ndonos decenas de
l(neas de cdigo.
$ara terminar, debemos aclarar que Android tiene cuatro tipos de componentes b%sicos# actividades,
servicios, receptores de mensa"es de difusin & proveedores de contenidos.
Fundamentos Android: Activity, View,
Services, BroasCastReciver, ContentProvider,
Widget
Actividades (Activity
Las actividades son las encargadas de mostrar las interfaces de usuario e interactuar con )l, suelen
tener asociada una definicin de pantalla & son las encargadas de responder a los eventos de usuario
(pulsaciones de botones, seleccin de listas, etc...!, estas Actividades heredan de la clase Activit&.
.que es esto de la 'lase Activit&/ es una clase &a predefinida de Android, basandonos en el e"emplo
,0ola 1undo, al poner esa (linea2!, nuestra clase (con"unto de instrucciones que forman nuestro
programa! heredara unas instucciones predefinidas para mane"ar el interface que hemos creado con
el xml que define nuestra pantalla (la&out!.
l aspecto de la vista se aplica pasando un ob"eto tipo 3ie4 (Los ob"etos 3ie4 son los encargados
de dibu"ar una parte rectangular de la pantalla, estos o"etos solo pueden ser llamados desde una
Activit& que 0erede de la clase Activit&! al m)todo Activit& set'ontent3ie4(! (en el e"emplo de
arriba linea55, entre los parentesis se le pasa como parametro el dise6o de pantalla o La&out que
esta en formato xml, ese es el ob"eto 3ie4!.
ste m)todo es el encargado de dibu"ar la pantalla, normalmente la vista que pasemos ocupar% toda
la pantalla (aunque podemos aplicar temas a las activit&7s & hacer que sea mostrada como ventana
flotante por e"emplo fi"ate en la siguiente captura, se muestra un Activit& ,ditar un Lugar, con un
tema 8ialog, es decir no ocupa toda la pantalla, es como una ventana flotante esto se define en el
1anifest!.
Las Activit& tambi)n pueden llamar a componentes modales que se mostrar%n sobre su 3ie4 como
por e"emplo dialogos, mens o mensa"es emergentes de tipo 9oast. 8ebes tener claro, que por cada
pantalla distinta habr% una Activit& distinta, pasar de una pantalla a otra se consigue lanzando
nuevas Activit&, & volver a la anterior se consigue cerrando la Activit& actual. :ormalmente las
aplicaciones tienen una Activit& marcada como punto de entrada, es decir como la primera o inicio,
como vimos en el ,0ola mundo, esto se define en el 1anifest.
$ongamos un e"emplo practico, imagina un programa lector de correo, este tipo de aplicaciones
tienen varias actividades, una para mostrar los mensa"es del inbox, otra para ver el contenido del
mensa"e, & otra para escribir un nuevo correo que contendra un botn para el envi del mismo. n el
Android1anifest.xml definiremos como punto de entrada la Actividad que muestra el listado de
correos en inbox.
View
Los ob"etos vie4 son los componentes b%sicos con los que se constru&e la interfaz gr%fica de la
aplicacin, an%logo por e"emplo a los controles de ;ava o .:9. 8e inicio, Android pone a nuestra
disposicin una gran cantidad de controles b%sicos, como cuadros de texto, botones, listas
desplegables o im%genes, aunque tambi)n existe la posibilidad de extender la funcionalidad de estos
controles b%sicos o crear nuestros propios controles personalizados.
Servicios
Los servicios no tienen en interfaz visual, corren en segundo plano & se suelen encargar de realizar
tareas que deben continuar e"ecut%ndose cuando nuestra aplicacin no est% en primer plano. Los
servicios extienden de la clase base <ervice.
<iguiendo nuestro e"emplo anterior, la aplicacin de correo tendr% un servicio que se encargar% de
chequear & descargar los correos cada cierto tiempo. n la aplicacin de correo podr(amos, por
e"emplo, forzar la recarga de correo o modificar la frecuencia de comprobacin de nuevos
mensa"es... Los servicios nos ofrecen un mecanismo para e"ecutar tareas pesadas sin bloquear el
resto de la aplicacin &a que se e"ecutan en un hilo distinto.
Receptores de mensa!es de distri"uci#n (BroadcastReceiver
Los receptores de mensa"es no hacen nada excepto recibir & reaccionar ante mensa"es de difusin.
xtienden la clase =roadcast>eceiver, & no tienen interfaz de usuario pero sin embargo son capaces
de lanzar una Activit& en respuesta a un evento o usar el ?:otification1anager@ para alertar al
usuario.
Ao en su momento no entend( bien esto del =roadcast>eciber, ahora lo entiendo de la siguiente
forma# Bmagina que el tel)fono esta ,escuchando, todo lo que pasa por el sistema (llamadas
entrantes, llegada de <1<, cambio de posicin del tel)fono, C$<, cuando iniciamos el tel)fono,
cuando recibimos un correo, cuando le damos la vuelta boca aba"o..! a nuestra aplicacin, le
podemos poner un filtro siguiendo con la aplicacin de correo, que ,escuchar(a, a los mensa"es de
tipo :D3+E'+>>+ que lanzar(a nuestro servicio que mostrara un icono en la barra de
notificacin de correo nuevo, esto seria un ?=roadcast>eceiver@ .
Proveedores de contenido (ContentProvider
Los proveedores de contenido hacen que un determinado grupo de datos est)n disponibles para
distintas aplicaciones. xtienden la clase 'ontent$rovider para implementar los m)todos de la
interfaz, las aplicaciones no acceden a este interfaz directamente, sino que lo hacen a trav)s de una
clase 'ontent>esolver. ste sistema permite acceder a datos almacenados en el sistema de ficheros,
bases de datos <FLite o cualquier otra fuente de datos a trav)s de un sistema unificado. l lector de
correo podr(a disponer de un ?'ontent$rovider@ que permitiera acceder al inbox & los datos de
mensa"es de una forma sencilla.
Widget
Los 4idgets son elementos visuales, normalmente interactivos, que pueden mostrarse en la pantalla
principal (home screen! del dispositivo Android & recibir actualizaciones peridicas. $ermiten
mostrar informacin de la aplicacin al usuario directamente sobre la pantalla principal, podemos
decir que son miniaplicaciones que nos permiten tenerlas a mano en nuestro escritorio.

S-ar putea să vă placă și