112

Introducción a Android

Embed Size (px)

DESCRIPTION

Presentación de la charla "Introducción a Android" (basada en "Entendiendo Android", de la TLP2k11) para el ciclo ACUDI de la ETSII (Universidad de La Laguna).

Citation preview

Page 1: Introducción a Android
Page 2: Introducción a Android

www.emezeta.comJosé Román Hernández - Manz

Page 3: Introducción a Android

¿Por qué Android?

Exterminate!EXTERMINATE!!!

Page 4: Introducción a Android

¿Por qué Android?

Page 5: Introducción a Android

¿Qué es Android?

Page 6: Introducción a Android

Google

Page 7: Introducción a Android

Google

Page 8: Introducción a Android

H A L

¿Qué es Android?

Page 9: Introducción a Android

H A L

¿Qué es Android?

HARDWARE ANDROID LAUNCHER

Page 10: Introducción a Android

Hardware

Conjunto de componentes.

Nivel 1

Page 11: Introducción a Android

Hardware

Características necesarias.

Muy subjetivo.

PROCESADOR

MEMORIA RAM

MEMORIA INTERNA

TIPO PANTALLA

Nivel 1

Page 12: Introducción a Android

MARCA

CÁMARA

BATERÍA

Hardware

Características interesantes.

Muy subjetivo.

PROCESADOR

MEMORIA RAM

MEMORIA INTERNA

TIPO PANTALLA

Nivel 1

Page 13: Introducción a Android

Android

Sistema operativo.

VersiónOTA

Nivel 2

Page 14: Introducción a Android

OTA

Actualización

Over The Air2.1 2.3

Page 15: Introducción a Android

Parrot ASTEROIDManos libres para el coche

Page 16: Introducción a Android

Sony Internet TVTelevisor

Page 17: Introducción a Android

Sony Internet TVTelevisor

Page 18: Introducción a Android

EVO 2Consola videojuegos

Page 19: Introducción a Android

Binatone iHomeTeléfono inalámbrico

Page 20: Introducción a Android

Recon InstrumentsGafas de Esquí

Page 21: Introducción a Android

Android

No sólo para móviles.

Tablets

Domótica

Nivel 2

Page 22: Introducción a Android

Launcher

Interfaz de usuario.

Apariencia

Nivel 3

Page 23: Introducción a Android

Launcher

HTC Sense

Interfaz de HTC

Nivel 3

Page 24: Introducción a Android

Launcher

TouchWiz

Interfaz de Samsung

Nivel 3

Page 25: Introducción a Android

Launcher

Regina3D

Interfaz 3D de Nemustech

Nivel 3

Page 26: Introducción a Android

Launcher

Launcher2

Interfaz por defecto de Android 2.3

Nivel 3

Page 27: Introducción a Android

Diversidad

Marcas, modelos, características...

Adaptabilidad

Confusión

Page 28: Introducción a Android

Diversidad

Multitud de marcas, modelos, gamas, características...

Adaptabilidad

Confusión

Page 29: Introducción a Android

Diversidad

Multitud de marcas, modelos, gamas, características...

Adaptabilidad

Confusión

Page 30: Introducción a Android

OTA

Actualización

Over The Air2.1 2.3

Page 31: Introducción a Android

OTA

Actualización

Over The Air2.1 2.3

Page 32: Introducción a Android

OTA

Actualización

Over The Air2.1 2.3

Page 33: Introducción a Android

18 meses

Acuerdo de

Lanzamiento de

actualizaciones

Fabricantes Operadoras

...

Page 34: Introducción a Android

¡Cuidado con características!

Siempre fuente oficial

Para evitar cosas como estas...

Page 35: Introducción a Android

¡Cuidado!

Leer las características de los terminales en su

página oficial.

Page 36: Introducción a Android

¡Cuidado!

Leer las características de los terminales en su

página oficial.

Page 37: Introducción a Android

¡Cuidado!

Leer las características de los terminales en su

página oficial.

Page 38: Introducción a Android

¡Cuidado!

Leer las características de los terminales en su

página oficial.

Page 39: Introducción a Android

¡Cuidado!

Leer las características de los terminales en su

página oficial.

Page 40: Introducción a Android

Procesador

CPU/GPU

Page 41: Introducción a Android

Qualcomm

Procesadores

indexados por

CPU / GPU

https://developer.qualcomm.com/devices

Qualcomm

Page 42: Introducción a Android

Samsung

Procesadores

Cortex A9

Cortex A8

ARM 11/9/7

http://bit.ly/CortexA9Series

Page 43: Introducción a Android

Memorias

Memoria RAM

Memoria interna

Tarjeta MicroSD

Page 44: Introducción a Android

Memoria NAND

Datos de usuario

Sistema (Android)

Otros (Caché, Boot...)

Page 45: Introducción a Android

Estructura

La memoria interna está dividida en varias

particiones.

Dependen del fabricante.

Page 46: Introducción a Android

Java

Máquina virtual

Máquina Virtual Java

.class

Page 47: Introducción a Android

Dalvik

Máquina virtual

Máquina Virtual Dalvik

.dex

Page 48: Introducción a Android

Compilación JIT

Just-in-time

(Android 2.2+)

Máquina Virtual Dalvik

.dex

Page 49: Introducción a Android

Memoria RAM

Evita liberar memoria.

Memoria libre != mejor rendimiento.

MEM 30%

MODELO ERRÓNEO

TASK-KILLER

Page 50: Introducción a Android

AUTOMÁTICO

Memoria RAM

Uso al máximo.

Usuario no cierra apps, el sistema decide.

Opción salir inútil.

MODELO CORRECTO

MEM 90%

CACHÉ

Page 51: Introducción a Android

Versiones de Android

3 4 7 8 9

Page 52: Introducción a Android

Últimas versiones

12 13

Page 53: Introducción a Android

Unifica (tablets + netbooks + TV + ...)

Aceleración por hardware (UI vía GPU)

Reconocimiento de voz mejorado

Reconocimiento facial (desbloqueo)

Soporte MKV (Matroska)

Eliminar apps de operadora

Page 54: Introducción a Android

Introducción a la fragmentación

Page 55: Introducción a Android

Fragmentación

Hasta Android 2.2 oficial, no se puede

guardar una aplicación en la tarjeta SD.

Ejemplo de fragmentación

Page 56: Introducción a Android

Fragmentación

Nivel desarrollador

Page 57: Introducción a Android

Fragmentación

Usuarios con versiones antiguas, no podrán disfrutar de nuevas

características.

Page 58: Introducción a Android

Fragmentación

Usuarios con versiones antiguas, no podrán disfrutar de nuevas

características.

2011

2010

Page 59: Introducción a Android

Mercado actual

Fragmentación

de versiones

Nov 2011

Page 60: Introducción a Android

Fragmentación

Utilizar unidades independientes de la

resolución del dispositivo.

Page 61: Introducción a Android

Desarrollador

Page 62: Introducción a Android
Page 63: Introducción a Android

Alquimia

Combinar elementos para generar otros.

Page 64: Introducción a Android

Sleep as an Droid

Analiza movimientos durante el sueño para

despertarte en el mejor momento.

Page 65: Introducción a Android

Pajímetro

Analizador de “rendimiento”.

Page 66: Introducción a Android

Ciclo de vida

Hay que conocer las diferentes fases por las

que pasa una app.

Page 67: Introducción a Android

Batería

Capacidad

Duración

Capacidad ~ mAhGasto de energía ~ mA

Page 68: Introducción a Android

HTC MAGIC __________________ 1340 mAh

IPHONE3GS __________________ 1219 mAh

HTC DESIRE HD _______________ 1230 mAh

IPHONE4 ____________________ 1420 mAh

HTC SENSATION ______________ 1520 mAh

SAMSUNG GALAXY S II _________ 1650 mAh

BLACKBERRY BOLD 9900 _______ 1240 mAh

SAMSUNG GALAXY NOTE _______ 1500 mAh

IPHONE4S ___________________ 1420 mAh

GALAXY NEXUS _______________ 1750 mAh

MOTOROLA DROID RAZR _______ 1780 mAh

Batería

Depende de cada

dispositivo

Page 69: Introducción a Android

Batería

¿Que actividades

consumen batería?

3G-150mA

Capacidad batería Energía Duración estimada

1500 mAh / 150 mA = 10 horas

Page 70: Introducción a Android

Batería

¿Que actividades

consumen batería?

WiFi-275mA

Capacidad batería Energía Duración estimada

1500 mAh / 275 mA = ~5 horas y media

Page 71: Introducción a Android

Batería

Transferencias cortas, ahorro de batería

Fuente: Google I/O

Descarga de un MP3 (6 MB)

Page 72: Introducción a Android

Liberar recursos

Consumo de batería en uso de cámara sin y

con liberación de recursos en onPause.

Fuente: SonyDevelopers

Page 73: Introducción a Android

Batería

Consideraciones

finales.

Fuente: Google I/O

Utilizar compresión GZIP al “vuelo”

Page 74: Introducción a Android

Batería

Consideraciones

finales.

Fuente: Google I/O

- Cambios de celdas consumen mucho

- Reciclar objetos Java

- Utilizar localización red antes que GPS

Page 75: Introducción a Android

Objetivos

Respuesta rápida.

Evitar que nuestra aplicación deje de

responder.

Page 76: Introducción a Android

Tipos de error

FC: Forzar cierre (Error en el programa)

ANR: App no responde (Bucle infinito o proceso pesado)

Page 77: Introducción a Android

Objetivos

Alto rendimiento.

Evitar acciones lentas, optimizar, buscar

fluidez.

Page 78: Introducción a Android

Objetivos

Accesibilidad.

Aplicaciones cómodas, sencillas e intuitivas.

Page 79: Introducción a Android

Objetivos

Integridad.

Conocer contexto, respetar normas, seguir consejos.

Page 80: Introducción a Android

Fichero .APK

Estructura de una aplicación de Android.

Page 81: Introducción a Android

Posibilidades

Page 82: Introducción a Android

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Page 83: Introducción a Android

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Page 84: Introducción a Android

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Page 85: Introducción a Android

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Page 86: Introducción a Android

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Page 87: Introducción a Android

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Page 88: Introducción a Android

DDMS

Dalvik Debug Monitor

Monitorización de la máquina virtual.

Page 89: Introducción a Android

Android Market

Acceso automático a usuarios a una tienda

de aplicaciones gratis y de pago.

Page 90: Introducción a Android

Android Market

Versión vía web.

- Búsqueda

- Instalación

Page 91: Introducción a Android
Page 92: Introducción a Android

Distribución

Web Market/AppStore

Page 93: Introducción a Android

Distribución

Web Market/AppStore

Alta: ~18€Gratis

Page 94: Introducción a Android

Distribución

Web Market/AppStore

Alta: ~18€Alta: ~70€

GratisAlta: ~210€

Page 95: Introducción a Android

Distribución

Web Market/AppStore

Alta: ~18€Alta: ~70€/año

GratisAlta: ~210€/año

Page 96: Introducción a Android

Tasa para estudiantes

No tiene

Page 97: Introducción a Android

Tasa para estudiantes

No tieneSi, gratis

Page 98: Introducción a Android

Sólo usable en dispositivo físico

No tieneSi, gratis

forever distribution

Page 99: Introducción a Android

IngresosCobro por app Cobro por publicidad

Page 100: Introducción a Android
Page 101: Introducción a Android
Page 102: Introducción a Android
Page 103: Introducción a Android
Page 104: Introducción a Android
Page 105: Introducción a Android
Page 106: Introducción a Android
Page 107: Introducción a Android
Page 108: Introducción a Android

App Inventor

Construir apps mediante un sistema

tipo puzzle.

Page 109: Introducción a Android

StackOverflow

Resolver dudas y ampliar conocimientos

Page 110: Introducción a Android

Enlaces

Sitios interesantes sobre Android con

información, novedades y recursos.

Page 112: Introducción a Android

Artículos

Artículos sobre Android.

Infografía de Android: http://www.emezeta.com/articulos/infografia-de-android

Optimizar Android (Velocidad y Batería): http://www.emezeta.com/articulos/optimizar-android-velocidad-y-bateria

10 operaciones útiles para Android vía ADB:http://www.emezeta.com/articulos/10-operaciones-utiles-para-android-via-adb

10 launchers gratuitos para Android:http://www.emezeta.com/articulos/android-11-launchers-gratuitos

Hacer capturas de pantalla en Android:http://www.emezeta.com/articulos/hacer-capturas-de-pantalla-en-android

15 consejos esenciales para Android:http://www.emezeta.com/articulos/15-consejos-esenciales-para-android

Emulador Android para PC:http://www.emezeta.com/articulos/emulador-de-htc-magic-android

BudaPhone: Consumo vodafonehttp://www.emezeta.com/articulos/budaphone-consumo-vodafone

Formato EPA (Elige tu propia aventura): http://www.emezeta.com/articulos/formato-epa-elige-tu-propia-aventura