No Tengo Nada Que Subir
Conceptos Básicos
Gabriel Huecas Universidad Politécnica de Madrid
30 de Septiembre de 2011
URL básicos
• Para empezar: http://www.slideshare.net/dtmilano/androiddevelopment-tutorial-v3 • Seguimos: http://www.slideshare.net/sullis/introduction-toandroid • Detalles: http://www.slideshare.net/tedchien/androidin-a-nutshell-2559290 • Completo:http://www.slideshare.net/techmi/cursodesarrollo-en-android
URL avanzados
• http://developer.android.com/guide/topics/fu ndamentals.html • http://www.dalvikvm.com/ • http://www.retrodev.com/
Entorno de desarrollo completo
• • • • Compilador Emulador Depurador Perfiles de rendimiento
Plugin para Eclipse Orientado a comandos
Escritas en C/C++
Escritas en Java
Arquitectura:Aplicaciones
• Incluidas por defecto de Android • Añadidas por el usuario
– Sin diferenciación – De terceras empresas – o de su propio desarrollo
• Usan API, servicios y bibliotecas de forma igualitaria
Arquitectura: Entorno de Aplicaciones (I)
• Conjunto de herramientas de desarrollo de cualquier aplicación
– Activity Manager: Gestión del Ciclo de Vida – Window Manager: Gestiona las ventanasde las aplicaciones y utiliza la librería Surface Manager. – Telephone Manager: Incluye todas las API vinculadas a las funcionalidades propias del teléfono (llamadas, mensajes, etc.).
Arquitectura: Entorno de Aplicaciones (II)
– Content Provider: Compartición de datos entre aplicaciones. Acceso a los contactos, agenda… – View System: Elementos de construcción de (GUI): botones, entradas detexto, fechas,… y gestión de dichos elementos: tamaños, disposición, … – Location Manager: información de localización y posicionamiento. – Notification Manager: Comunicación de eventos al usuario: llamadas entrantes, SMS, conexiones Bluetooth, …. Pueden asociarse una acción (Intent) – XMPP Service: API de acceso para intercambio de mensajes XML.
Arquitectura: Bibliotecas (I)
• libc: básica deC, basada en BSD • Surface Manager: gestión y construcción de elementos visuales y views de una aplicación • OpenGL/SL y SGL: biblioteca gráfica con soporte 3D (OpenGL/SL) y 2D (SDL) • Media Libraries: biblioteca de códecs y formatos multimedia
Arquitectura: Bibliotecas (II)
• FreeType: fuentes • SSL: comunicaciones seguras • SQLite: creación y gestión de bases de datos relacionales • WebKit:núcleo del navegador Web
Arquitectura: Entorno de Ejecución
• Core Libraries: bibliotecas Java • Máquina virtual Dalvik.
Arquitectura: Núcleo Linux
• Basado en el núcleo de Linux 2.6
– HAL: capa de abstracción para el hardware disponible en los dispositivos móviles. – Drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes. –Fabricantes de Hw:
• Crean las bibliotecas de control • Y los drivers
Dalvik
• • VM: arquitectura basada en registros Optimizada para
– – – – Bajo consumo de memoria Recolección de basura Ejecuta múltiples instancias simultáneamente Delega en el núcleo
• • • Gestión de procesos Gestión de memoria Gestión de hilos
– Bibliotecas escritas en C/C++ con wrappers de acceso – No hay JIT
•Los programas de Android se compilan en .dex (Dalvik Executable) y se empaquetan en un .apl (Android Package)
– reutiliza la información duplicada por múltiples archivos .class, – Ocupa muchos menos que un .jar. – Bytecode propio, incompatible con JVM
•
Ingeniería inversa .dex: www.retrodev.com
Actividades
Vistas
Intenciones Servicios Notificaciones Proveedores ContenidoBloques de Construcción
AndroidManifest.xml
Actividades
• • • • Las Actividades se apilan Sólo una es visible Sólo una está activa Se apilan encima según aparecen
Estado de las actividades
• Activa
– Encima de la pila
• Pausada
– Sin foco, todavía visible
• Parada
– No visible – Puede eliminarse en caso de pocos recursos
• En Destrucción
– Se ha notificado su destrucción...
Regístrate para leer el documento completo.