Android desarrollo de aplicaciones

Preview:

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

Recommended