Publicado el 11 de Enero del 2019
558 visualizaciones desde el 11 de Enero del 2019
1,4 MB
18 paginas
Creado hace 10a (09/04/2014)
Asignatura 780014 Programación
Avanzada
Tema 9 -Programación distribuida móvil
Introducción a Android
Recordamos
● Computación distribuida
Comunicación y sincronización
Entre procesos
Concurrentes
En distintas máquinas
● ¿Y si una es un móvil?
El cliente móvil
● El dispositivo móvil
Un elemento más de la red
Sólo cliente
Sólo para usuario
Características de la Prog. Dist. Móvil
● Aplicaciones similares a las de PC pero reducidas
Características especiales:
El terminal móvil sólo puede ser cliente
Toda aplicación es cliente-servidor
● El desarrollo móvil sólo es la mitad
Aplicaciones interactivas y dinámicas
● En dispositivos con métodos de entrada limitados (teclado, pantalla táctil, etc.)
Capacidad limitada de:
● Proceso, almacenamiento y memoria (cada vez más potencia)
Desarrollo en plataformas específicas
● Familias de móviles
Capacidades de conectividad muy flexibles y disponibles
Disponibilidad de navegador Web (HTML4 y 5)
Fabricantes, familias y mercado
● Factor psicológico
● Factor social
● Factor tecnológico
● Factor económico
Fabricantes, familias y mercado
Introducción a Android
● Entorno de Software de código abierto basado en Linux.
Creado para dispositivos móviles: teléfonos y tablets.
Actualmente se encuentra en desarrollo para Netbooks y Pcs.
http://es.wikipedia.org/wiki/Android
● Historia:
Julio de 2005, Google compra Android Inc
Noviembre de 2007, Google y otras compañías HW,SW, crean la Open
Handset Alliance:
Consorcio de desarrollo de estándares abiertos para disp. móv.
Su primer producto: “Android”, kernel de Linux 2.6.
Septiembre de 2008 aparece la versión del SDK de Android 1.0
Características de Android (1 de 2)
● Framework para desarrollo de aplicaciones
Facilita reutilización y reemplazo de componentes
Completo entorno de desarrollo
Emulador de dispositivos, herramientas para depurar y un plugin para
el IDE Eclipse.
● Máquina virtual Dalvik
Optimizada para dispositivos móviles (distinta de JVM)
● Navegador Web integrado
● Gráficos optimizados
Librería gráfica 2D propia; gráficos 3D - OpenGL ES 1.0
Características de Android (2 de 2)
● Conectividad disponible
Telefonía GSM, Bluetooth, 3G y WiFi
● Dispositivos de interacción
Cámara, GPS, brújula y acelerómetro
● Soporte recursos multimedia
Audio, vídeos e imágenes en los formatos MPEG4, H.264, MP3, AAC,
AMR, JPG, PNG y GIF
● SQLite para almacenamiento de datos estructurados
Arquitectura de Android
● Estructura en capas lógicas para conseguir aislamiento
Capas de la Arquitectura de Android (1 de 2)
● Capas de la arquitectura:
Aplicaciones (Applications):
Conjunto básico con cliente de correo, aplicación de SMS, calendario,
mapas y navegador. También aplic. de terceros.
Framework de Aplicación:
Creación de aplicaciones
Fomenta reutilización y aporta componentes para la creación de UI,
acceso a datos, recursos de localización, etc.
Librerías de código C++ (Libraries):
Usadas por los componentes del sistema Android.
Gráficos 2D y 3D, bases de datos SQLite, multimedia, librerías del
navegador WebKit, etc.
Capas de la Arquitectura de Android (2 de 2)
● Capas de la arquitectura:
Entorno de ejecución (Android Runtime):
Formado por librerías del núcleo de Android
Proporcionan la mayoría de la funcionalidad del núcleo del lenguaje de
programación JAVA
Proporcionan la funcionalidad de la máquina virtual Dalvik.
Núcleo Linux (Linux Kernel):
Capa de abstracción entre el HW y el SW de Android
● Gestiona procesos, memoria y sistema de archivos
● Proporciona drivers para el HW específico del dispositivo
Versiones de Android
Septiembre 2008 - Android 1.0
Febrero 2009 - Android 1.1
Abril 2009 - Android 1.5 (Cupcake)
Septiembre 2009 - Android 1.6 (Donut)
Octubre 2009 - Android 2.0 / 2.1 (Eclair)
Mayo 2010 – Android 2.2 (Froyo)
Diciembre 2010 – Android 2.3 (Gingerbread)
2011- Android 3.0 (Honeycomb): Desde cero, optimizada para Tablets
Finales de 2011 – Android 4.0 (Ice Cream Sandwich)
Android 4.1/4.2/4.3 (Jelly Bean)
Android 4.4 (KitKat)
Android 5.0 (No se ha confirmado el nombre final)
Mercado objetivo
● Para una aplicación, hay que tener en cuenta la versión
instalada en los dispositivos en los que va a ejecutarse
● http://developer.android.com/resources/dashboard/platform-versions.html
Contiene estadísticas de los dispositivos que acceden al Market
La tienda oficial de descarga de aplicaciones Android
Estos datos nos ofrecen la versión que tienen los dispositivos usados
2013
2014
Flujo de ejecución de aplicación
● El flujo de ejecución Android se crea mediante actividades
Las actividades se organizan en una pila
Las actividades tienen un ciclo de vida
Estados suficientes
Situaciones complejas
Métodos que son llamados
Nueva Actividad
Actividad Activa
Última Actividad Activa
.
.
.
.
Actividades previas
Pila de actividades
Nueva ActividadActividad ActivaÚltima Actividad Activa Ciclo de vida de una actividad
Aspectos adicionales a considerar
● En todas las plataformas móviles y en la que nos ocupa
No basta con crear un programa (hasta el juego más sencillo)
Hay que preparar todo el material visual y la interconexión adicional
Iconos, animaciones, fondos, versiones para distintos tamaños
● Posibilidad de reproducir en pantallas grandes (Cast)
Uso de GPS, Bluetooth, NFC, Wifi, Infrarojos
Conexión con servidores, acceso a la nube, almacenamiento del estado de
aplicaciones, redes sociales
● Google Drive
● Google Maps
● Google+
Anuncios y cobro por servicios
● Ads y Wallet
Ejemplo para comparar aplicaciones
● Dos aplicaciones iguales, copias entre ellas o de otras
Zombie Tsunami
https://play.google.com/store/apps/details?id=net.mobigame.zombietsunami
Zombie Run
https://play.google.com/store/apps/details?id=zombie.run.game
Comentarios de: Tema 9 - Programación distribuida móvil. Introducción a Android (0)
No hay comentarios