Upload
cein
View
326
Download
5
Tags:
Embed Size (px)
Citation preview
AndroidDesarrollo de aplicaciones
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
¿Qué es Android?• SO libre para dispositivos móviles
basado en linux
jueves 29 de abril de 2010
¿Qué es Android?• SO libre para dispositivos móviles
basado en linux
✓ Puede ser modificado y distribuido sin ser libre
jueves 29 de abril de 2010
¿Qué es Android?• SO libre para dispositivos móviles
basado en linux
✓ Puede ser modificado y distribuido sin ser libre
• Inicialmente desarrollado por Google
jueves 29 de abril de 2010
¿Qué es Android?• SO libre para dispositivos móviles
basado en linux
✓ Puede ser modificado y distribuido sin ser libre
• Inicialmente desarrollado por Google
• Actualmente bajo el respaldo de la OHA
jueves 29 de abril de 2010
¿Qué es Android?• SO libre para dispositivos móviles
basado en linux
✓ Puede ser modificado y distribuido sin ser libre
• Inicialmente desarrollado por Google
• Actualmente bajo el respaldo de la OHA
✓ Google, HTC, Intel, Sony Ericsson, Garmin, Telefónica
jueves 29 de abril de 2010
¿Qué es Android?• SO libre para dispositivos móviles
basado en linux
✓ Puede ser modificado y distribuido sin ser libre
• Inicialmente desarrollado por Google
• Actualmente bajo el respaldo de la OHA
✓ Google, HTC, Intel, Sony Ericsson, Garmin, Telefónica
✓ Desarrollo de estándares abiertos para móviles
jueves 29 de abril de 2010
Multitarea
jueves 29 de abril de 2010
Independiente de dispositivo
jueves 29 de abril de 2010
Búsqueda global• Búsqueda global en el
dispositivo
✓ Contactos
✓ Correo
✓ Calendario
✓ Multimedia
✓ Web, Wikipedia
• Con API pública
jueves 29 de abril de 2010
Text to Speech• Añadir voz a las
aplicaciones
✓ Accesibilidad
• Control por voz
✓ Accesibilidad
✓ Redacción de textos
jueves 29 de abril de 2010
Gestión de gestos
jueves 29 de abril de 2010
Características
Multitouch OpenGL ES SQLite
WebKit Acceso VPN Multiotouch
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
Arquitectura
jueves 29 de abril de 2010
Arquitectura
jueves 29 de abril de 2010
Arquitectura
• Capa de abstracción de Hardware
• Drivers del dispositivo
• Gestión de la memoria
• Gestión de procesos
• ...
jueves 29 de abril de 2010
Arquitectura
• Librerías en C/C++
• Interfaz a través de Java
• SQLite
• Motor navegador web (WebKit)
• Gráficos 2D/3D
• Codecs multimedia
• ...
jueves 29 de abril de 2010
Arquitectura
• Dalvik Virtual Machie
✓ Más eficiente que JVM
✓ Limita el consumo de recursos
• Librerías del núcleo
✓ Java 5 STD Edition
✓ Collection, I/O, ...
jueves 29 de abril de 2010
Arquitectura
• Acceso a APIs
✓ GPS
✓ Agenda
✓ Notificaciones
✓ ...
• Controla el ciclo de vida de la aplicación
jueves 29 de abril de 2010
Arquitectura
• Aplicaciones integradas
✓ Navegador
✓ Contactos
✓ ...
• Aplicaciones de usuario
jueves 29 de abril de 2010
Componentes: Activity
jueves 29 de abril de 2010
Componentes: Activity• Componentes principales de una aplicación
✓ Lógica de negocio
✓ Responde a eventos de la interfaz
• Generalmente corresponde con una pantalla en la interfaz de usuario
• Aunque también puede:
✓ No tener una interfaz visible
✓ Ser una ventana flotante
jueves 29 de abril de 2010
Componentes: Service
jueves 29 de abril de 2010
Componentes: Service• Componentes sin interfaz de usuario que se ejecutan en
segundo plano
✓ Reproductor de música
✓ Descarga de ficheros
• Acceso a los servicios a través de las aplicaciones
• Se pueden ejecutar dentro de una aplicación o como un proceso aparte.
jueves 29 de abril de 2010
Componentes: Listener
jueves 29 de abril de 2010
Componentes: Listener• Componentes diseñados para atender a peticiones enviadas
a través de Broadcast
• Pensado para responder a notificaciones y alarmas externas
✓ Batería baja
✓ Conexión a red Wifi establecida
• Las aplicaciones también pueden lanzar sus propios Broadcast
jueves 29 de abril de 2010
Componentes: ContentProvider
jueves 29 de abril de 2010
Componentes: ContentProvider
• Permiten compartir información con otras aplicaciones
✓ Agenda
✓ Gestor de correo
• Disponen de una API común para:
✓ Consultas
✓ Borrar, modificar y eliminar registros
• Se representan por una URI
jueves 29 de abril de 2010
Ciclo de vida
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
Desarrollo• Entorno de desarrollo Eclipse
✓ + Plugin SDK Android
• Multiplataforma (Windows, Linux, Mac)
• Lenguaje de programación Java
jueves 29 de abril de 2010
Interface Builder• Herramienta poco visual
y poco intuitiva
• Hay que recurrir a código XML
• Existen herramientas que pueden ayudar
✓ DroidDraw
jueves 29 de abril de 2010
Android Emulator• Simula condiciones reales
✓ Hardware
✓ Resoluciones de pantalla
✓ Conexiones de red
✓ GPS
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
Costes• Cuenta desarrollador: 25$
✓ Permite la publicación en el Android Market
✓ Es posible distribuir aplicaciones de forma independiente
• IDE gratuito
jueves 29 de abril de 2010
Publicación Market• Darse de alta como
desarrollador
• Enviar la aplicación al Market
• Beneficio:✓ 70% Desarrollador✓ 30% Apple
jueves 29 de abril de 2010
CaracterísticasArquitecturaDesarrollo
CostesConclusiones
jueves 29 de abril de 2010
Pros• Software libre
• Extensa documentación
• Mercado en alza, respaldado por la OHA
• Herramientas de desarrollo multiplataforma
• Lenguaje de programación JAVA
• Bajo coste de desarrollo
jueves 29 de abril de 2010
Contras• Dificultad a la hora de actualizar el SO
✓ Dependiente de operadoras/fabricantes
• Fragmentación en las versiones del SO
jueves 29 de abril de 2010
¿Preguntas?
jueves 29 de abril de 2010