Programacion en Android
Programacion en Android
CUL 2018
Contenido Programático
Unidad 1. Visión general y entorno de desarrollo
Unidad 2. Diseño de la interfaz de usuario: Vistas y Layouts
Unidad 3. Actividades e intenciones
Unidad 4. Gráficos en Android
Unidad 5. Entradas en Android: teclado, pantalla táctil y
sensores
Unidad 6. Multimedia y Ciclo de Vida
Unidad 7. Seguridad y posicionamiento
Unidad 8. Servicios, notificaciones y receptores de anuncios
Unidad 9. Almacenamiento de datos
Unidad 10. Internet: sockets, HTTP y servicios web
Introducción
Los dispositivos móviles han cambiado la sociedad
actual de una forma tan significativa como lo ha
hecho Internet.
¿Qué es Android?
-Sistema operativo para teléfonos móviles(Inicial).
-Permite programar aplicaciones en una variación
de Java llamada Dalvik (ART Version 5.0).
-Proporciona todas las interfaces necesarias para
desarrollar aplicaciones que accedan a las
funciones del teléfono (como el GPS, las
llamadas, la agenda, etc.) de una forma muy
sencilla en un lenguaje de programación muy
conocido como es Java.
Introducción
¿Orígenes?
Google adquiere Android Inc. en el año 2005.
Se trataba de una pequeña compañía, que
acababa de ser creada, orientada a la
producción de aplicaciones para terminales
móviles. Ese mismo año empiezan a trabajar
en la creación de una máquina virtual Java
optimizada para móviles (Dalvik VM).
Introducción
¿Comparativa Plataformas?
En la siguiente gráfica podemos ver un estudio
realizado por la empresa Gartner Group, donde
se muestra la evolución del mercado de los
sistemas operativos para móviles según el
número de terminales vendidos.
Introducción
Introducción
Introducción
Introducción
Introducción
El núcleo Linux
El núcleo de Android está formado por el
sistema operativo Linux versión 2.6. Esta capa
proporciona servicios como la seguridad, el
manejo de la memoria, el multiproceso, la pila
de protocolos y el soporte de drivers para
dispositivos.
Arquitectura
Runtimede Android
Está basado en el concepto de máquina virtual
utilizado en Java. Por las limitaciones de los
dispositivos se crea una nueva, la máquina
virtual Dalvik, como característica principal el
formato optimizado para ahorrar memoria.
Librerías nativas
Incluye un conjunto de librerías en C/C++
usadas en varios componentes de Android.
Están compiladas en código nativo del
procesador. Muchas de las librerías utilizan
proyectos de código abierto.
Arquitectura
Entorno de aplicación
Proporciona una plataforma de desarrollo libre
para aplicaciones con gran riqueza e
innovaciones (sensores, localización, servicios,
barra de notificaciones, etc.).
Los servicios más importantes que incluye son:
•Views: extenso conjunto de vistas, (parte visual de los
componentes).
•Resource Manager: proporciona acceso a recursos que no son en
código.
•Activity Manager: maneja el ciclo de vida de las aplicaciones y
proporciona un sistema de navegación entre ellas.
•Notification Manager: permite a las aplicaciones mostrar alertas
personalizadas en la barra de estado.
•Content Providers: mecanismo sencillo para acceder a datos de
otras aplicaciones (como los contactos).
Arquitectura
Aplicaciones
Este nivel está formado por el conjunto de
aplicaciones instaladas en una máquina
Android. Todas las aplicaciones han de correr
en la máquina virtual Dalvik para garantizar la
seguridad del sistema.
SDK
Sistema Publicación
Aplicación Android
• classes.dex
– Dalvik
– Magic: dex\nXXX\0
– Empaquetado de los .java compilados
• res (recursos)
• META-INF (firmas de la aplicacion)
• AndroidManifest.xml (compilado)
• resources.arsc (relaciona los nombres de los recursos con sus
identificadores - R.java-)