Académique Documents
Professionnel Documents
Culture Documents
La plataforma Android.
Aplicaciones Android (construyendo bloques).
La plataforma Android.
La plataforma Android ha sido una de las plataformas ms exitosas desarrolladas en
los ltimos aos y ofrece a los desarrolladores muchos servicios y funciones requeridas para
crear valiosas aplicaciones mviles. El siguiente diagrama proporciona una vista de alto nivel
de como la plataforma Android est organizada, y las secciones posteriores ofrecen una
breve descripcin de cada componente principal:
1
Desarrollo de aplicaciones mviles para Android con Xamarin
Traducido por Hugo Daniel Reyes Rodrguez
Linux
Android es un sistema operativo basado en Linux diseado principalmente para
dispositivos mviles tales como Smartphones y Tablets. Las ltimas versiones de Android
estn basadas en la versin 3.x del kernel de Linux (versin 2.6 para versiones anteriores de
Android 4.0).
Libreras nativas
Android es liberado con un conjunto de libreras nativas escritas en C/C++, que
ofrecen varios tipos de servicios. Esas libreras vienen mayormente de la comunidad de
cdigo abierto.
Dalvik es liberado con las bibliotecas del ncleo Android. Esas libreras no estn alineadas
con una plataforma especfica de Java (JSE, JEE o JME) pero ms bien actan como una
plataforma hibrida ms directamente alineada con JME, menos la interfaz del usuario
centrada en los componentes AWT y Swing. El Android Application Framework (AAF)
proporciona medios alternativos de creacin de interfaces de usuario.
Application Framework
Application Framework es la parte de la plataforma Android, ms familiar para los
desarrolladores. Este es liberado como un conjunto de libreras Java y te permite construir
interfaces de usuario, interactuar con las capacidades del dispositivo tales como la cmara
o los servicios de ubicacin, cargar y trabajar con varios tipos de recursos de la aplicacin,
y realizar muchas ms tareas tiles.
2
Desarrollo de aplicaciones mviles para Android con Xamarin
Traducido por Hugo Daniel Reyes Rodrguez
Aplicaciones
En la parte superior de la pila se encuentra la aplicacin humilde, el componente
que en realidad libera valor al usuario. Android viene con un conjunto de aplicaciones que
ofrecen funcionalidades bsicas tales como administracin de contactos, uso del telfono,
comprobacin del correo electrnico, y navegacin de la web. La clave del xito de Android
es la gran cantidad de aplicaciones de terceros que pueden ser instaladas, las cuales
permiten a los usuarios hacer cosas tales como transmisin en vivo de eventos deportivos,
editar una pelcula capturada con el telfono, interactuar con amigos a travs de su sitio
favorito de medios sociales, y mucho ms.
Los paquetes Android pueden ser instalados directamente va correo electrnico, URLs o
tarjetas de memoria. Tambin pueden ser instalados indirectamente a travs de tiendas de
aplicaciones tales como Google Play.
El manifiesto de la aplicacin
Todas las aplicaciones Android tienen un archivo manifiesto (AndroidManifest.xml)
que le dice a la plataforma Android todas las cosas que necesita saber para ejecutar
correctamente la aplicacin, incluyendo lo siguiente:
Versiones de Android
Identificar la versin de la plataforma Android puede ser algo confuso, hay un
nmero de versin, nivel de API, y sobre nombre, y estos son usados algunas veces
indistintamente.
El nmero de versin representa una liberacin de la plataforma. Algunas veces, una nueva
liberacin es creada para entregar nuevas capacidades, mientras que algunas veces son
creadas para arreglar bugs.
El nivel API representa un conjunto de capacidades. A medida que aumenta el nivel API,
nuevas capacidades son entregadas para el desarrollador.
La siguiente tabla lista las versiones de la plataforma en orden cronolgico inverso:
Actividades
Una de las partes ms fundamentales de una aplicacin Android es una actividad
(activity). Una actividad proporciona una sola funcin que un usuario puede realizar con
una aplicacin tal como una lista de contactos, ingresar a nuevo contacto, y ver ubicaciones
en un mapa. Una sola aplicacin es conformada con muchas actividades.
Un usuario interacta con una actividad a travs de una o ms vistas, que son descritas
despus en este captulo. Si est familiarizado con el patrn modelo-vista-controlador, se
dar cuenta que las actividades cumplen el papel de controlador.
Descripcin
Running
Paused
Stopped
onStart
onResume
onPause
onStop
onRestart
onDestroy
Llamado
Cuando una actividad es creada,
generalmente de una eleccin del
usuario para iniciar la aplicacin.
Despus de onCreate u onRestart, y
justo antes que una actividad se
convierte en visible para el usuario.
Antes que una actividad se encuentre
lista para iniciar la interaccin con el
usuario.
Procesamiento tpico
Crear vistas.
Inicializar variables.
Asignar recursos de vida larga.
Asignar recursos.
Asignar recursos.
Algunas cosas que no son obvias para los desarrolladores nuevos en Android es la forma de
ofertas del Framework con los cambios de orientacin del dispositivo. Por defecto, cuando
la orientacin de un dispositivo es cambiada de vertical a horizontal, Android destruye y
recrea actividades existentes para ayudar a garantizar que se utiliza la disposicin ms
adecuada. A menos que se planee para este comportamiento, esto puede ser perjudicial
6
Desarrollo de aplicaciones mviles para Android con Xamarin
Traducido por Hugo Daniel Reyes Rodrguez
Servicios
Los servicios son componentes que se ejecutan en segundo plano para realizar
operaciones de ejecuciones largas sin interfaz de usuario directa. Los servicios pueden
cargar datos en memoria cache, reproducir msica, o realizar algunos otros tipos de
procesamiento, mientras un usuario interacta con otras actividades ininterrumpidamente.
Proveedores de contenido
Los proveedores de contenido gestionan acceso a un repositorio central de datos
como los contactos. Un proveedor de contenido es una parte de una aplicacin, el cual
proporciona una interfaz de usuario para gestionar esos datos. Una interfaz estndar es
tambin proporcionada, mientras permite a otras aplicaciones acceder a esos repositorios.
Receptores Broadcast
Los receptores de broadcast son componentes que realizan algn tipo de
procesamiento en respuesta al broadcast del todo el sistema. El broadcast es generalmente
iniciado por el sistema para eventos tales como batera baja, tomar una fotografa, o
encender el Bluetooth. Las aplicaciones pueden tambin elegir emitir broadcast; un
proveedor de contenido puede enviar un broadcast con datos, como un contacto que ha
sido actualizado. Mientras los broadcast no tienen una interfaz de usuario, pueden
indirectamente causar una actualizacin en un estado.
Views y ViewGroups
Todo lo que ves en una aplicacin Android es una vista; botones, etiquetas, cajas de
texto, y radio botones todos son ejemplos de vistas. Las vistas son organizadas en una
jerarqua usando varios tipos de ViewGroups. Un ViewGroup es un tipo especial de vista
que es usado para disear (layout) otras vistas en la pantalla.
de diseo XML que especifica cmo deben disponerse las vistas. El mtodo declarativo
disfruta de varias ventajas establecidas de la siguiente manera:
Mientras prefiero el mtodo declarativo para la mayora de las cosas, he encontrado que,
en la prctica, a menudo se requiere de una combinacin de los mtodos programticos y
declarativos.
Diseos comunes
El Application Framework tiene un nmero de clases de ViewGroup, cada uno
proporciona una nica y til manera de organizar el contenido.
8
Desarrollo de aplicaciones mviles para Android con Xamarin
Traducido por Hugo Daniel Reyes Rodrguez
El anterior diagrama representa algunos de los diseos ms comunes, cada uno de los
cuales puede ser utilizado para necesidades especficas.
Diseo
Descripcin
Escenario
Linear Layout
Relative layout
Organiza
los
objetos Se utiliza cuando las posiciones del
secundarios con respecto a widget pueden describirse mejor
otro o al padre.
con relacin a otro widget (a la
izquierda de) o al rea de
cobertura de los padres (lado
derecho, centrado).
Table layout
Para escenarios complejos de diseo, Android permite diseos anidados. Los diseos
profundamente anidados pueden afectar el rendimiento y se deben evitar si es posible.
Diseos Adapter
Para diseos que son manejados por una fuente de datos dinmicos, el Application
Framework tiene un conjunto de clases derivadas de AdapterView.
9
Desarrollo de aplicaciones mviles para Android con Xamarin
Traducido por Hugo Daniel Reyes Rodrguez
List View: Organiza el contenido de la fuente de datos dentro de una sola lista
columna de desplazamiento.
Grid View: Organiza el contenido de la fuente de datos dentro de un grid de
columnas y renglones.
IDs
Cada vista puede tener un ID entero nico asociado con l y puede ser usado para
referenciar la vista dentro de un cdigo de la aplicacin. En el archivo XML, el ID es
especificado como un nombre de texto amigable. Por ejemplo, considera la siguiente lnea
de cdigo:
En este ejemplo, el operador @ indica al analizador que debe tratar al resto de la cadena
como como un recurso de identificacin ID; el smbolo + indica al analizador que se trata de
un nuevo recurso de nombre que se debe agregar al archivo de recurso R.Java. El archivo
de recurso define constantes enteras que pueden ser usadas como recursos de referencia.
Intentos
Los intentos son mensajes que pueden ser enviados por varios tipos de
componentes en una aplicacin Android en orden como respuesta de algn tipo de accin
que es realizada. Los intentos se pueden utilizar para llevar a cabo cualquiera de las
siguientes:
Recursos
La creacin de una aplicacin Android involucra ms que simplemente escribir
cdigo. Una gran aplicacin mvil requiere cosas como imgenes, sonidos, animaciones,
mens y estilos, solo por nombrar algunas. El Framework Application proporciona APIs que
pueden ser usadas para cargar y utilizar los varios tipos de recursos en tus aplicaciones
Android.
Descargando el cdigo de ejemplo
Puedes descargar los archivos de cdigo de los ejemplos para todos los libros Packt
que has adquirido desde tu cuenta en http://packtpub.com. Si adquiriste este libro en otras
partes, puedes visitar http://packtpub.com/support y registrarte para obtener los archivos
enviados directamente a usted por correo electrnico.
El archivo R.Java
Los recursos son generalmente referenciados desde dentro de una aplicacin
usando una constante entera que es asignada automticamente cuando el recurso es
agregado al proyecto y compilado. Estas constantes se colocan en un archivo fuente de Java
llamado R.Java. El siguiente ejemplo muestra la clase R.Java de una aplicacin simple:
12
Desarrollo de aplicaciones mviles para Android con Xamarin
Traducido por Hugo Daniel Reyes Rodrguez
Resumen
En este captulo, hemos tratado de ofrecer una concisa y adecuada demostracin de
la plataforma Android y de los bloques de construccin de la aplicacin. En el siguiente
captulo, vamos a centrar nuestra atencin en Xamarin.Android y las facilidades que ofrece
para permitir el desarrollo Android con .Net y C#.
13
Desarrollo de aplicaciones mviles para Android con Xamarin
Traducido por Hugo Daniel Reyes Rodrguez