Introducción a Android

Preview:

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

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

¿Por qué Android?

Exterminate!EXTERMINATE!!!

¿Por qué Android?

¿Qué es Android?

Google

Google

H A L

¿Qué es Android?

H A L

¿Qué es Android?

HARDWARE ANDROID LAUNCHER

Hardware

Conjunto de componentes.

Nivel 1

Hardware

Características necesarias.

Muy subjetivo.

PROCESADOR

MEMORIA RAM

MEMORIA INTERNA

TIPO PANTALLA

Nivel 1

MARCA

CÁMARA

BATERÍA

Hardware

Características interesantes.

Muy subjetivo.

PROCESADOR

MEMORIA RAM

MEMORIA INTERNA

TIPO PANTALLA

Nivel 1

Android

Sistema operativo.

VersiónOTA

Nivel 2

OTA

Actualización

Over The Air2.1 2.3

Parrot ASTEROIDManos libres para el coche

Sony Internet TVTelevisor

Sony Internet TVTelevisor

EVO 2Consola videojuegos

Binatone iHomeTeléfono inalámbrico

Recon InstrumentsGafas de Esquí

Android

No sólo para móviles.

Tablets

Domótica

Nivel 2

Launcher

Interfaz de usuario.

Apariencia

Nivel 3

Launcher

HTC Sense

Interfaz de HTC

Nivel 3

Launcher

TouchWiz

Interfaz de Samsung

Nivel 3

Launcher

Regina3D

Interfaz 3D de Nemustech

Nivel 3

Launcher

Launcher2

Interfaz por defecto de Android 2.3

Nivel 3

Diversidad

Marcas, modelos, características...

Adaptabilidad

Confusión

Diversidad

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

Adaptabilidad

Confusión

Diversidad

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

Adaptabilidad

Confusión

OTA

Actualización

Over The Air2.1 2.3

OTA

Actualización

Over The Air2.1 2.3

OTA

Actualización

Over The Air2.1 2.3

18 meses

Acuerdo de

Lanzamiento de

actualizaciones

Fabricantes Operadoras

...

¡Cuidado con características!

Siempre fuente oficial

Para evitar cosas como estas...

¡Cuidado!

Leer las características de los terminales en su

página oficial.

¡Cuidado!

Leer las características de los terminales en su

página oficial.

¡Cuidado!

Leer las características de los terminales en su

página oficial.

¡Cuidado!

Leer las características de los terminales en su

página oficial.

¡Cuidado!

Leer las características de los terminales en su

página oficial.

Procesador

CPU/GPU

Qualcomm

Procesadores

indexados por

CPU / GPU

https://developer.qualcomm.com/devices

Qualcomm

Samsung

Procesadores

Cortex A9

Cortex A8

ARM 11/9/7

http://bit.ly/CortexA9Series

Memorias

Memoria RAM

Memoria interna

Tarjeta MicroSD

Memoria NAND

Datos de usuario

Sistema (Android)

Otros (Caché, Boot...)

Estructura

La memoria interna está dividida en varias

particiones.

Dependen del fabricante.

Java

Máquina virtual

Máquina Virtual Java

.class

Dalvik

Máquina virtual

Máquina Virtual Dalvik

.dex

Compilación JIT

Just-in-time

(Android 2.2+)

Máquina Virtual Dalvik

.dex

Memoria RAM

Evita liberar memoria.

Memoria libre != mejor rendimiento.

MEM 30%

MODELO ERRÓNEO

TASK-KILLER

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É

Versiones de Android

3 4 7 8 9

Últimas versiones

12 13

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

Introducción a la fragmentación

Fragmentación

Hasta Android 2.2 oficial, no se puede

guardar una aplicación en la tarjeta SD.

Ejemplo de fragmentación

Fragmentación

Nivel desarrollador

Fragmentación

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

características.

Fragmentación

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

características.

2011

2010

Mercado actual

Fragmentación

de versiones

Nov 2011

Fragmentación

Utilizar unidades independientes de la

resolución del dispositivo.

Desarrollador

Alquimia

Combinar elementos para generar otros.

Sleep as an Droid

Analiza movimientos durante el sueño para

despertarte en el mejor momento.

Pajímetro

Analizador de “rendimiento”.

Ciclo de vida

Hay que conocer las diferentes fases por las

que pasa una app.

Batería

Capacidad

Duración

Capacidad ~ mAhGasto de energía ~ mA

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

Batería

¿Que actividades

consumen batería?

3G-150mA

Capacidad batería Energía Duración estimada

1500 mAh / 150 mA = 10 horas

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

Batería

Transferencias cortas, ahorro de batería

Fuente: Google I/O

Descarga de un MP3 (6 MB)

Liberar recursos

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

con liberación de recursos en onPause.

Fuente: SonyDevelopers

Batería

Consideraciones

finales.

Fuente: Google I/O

Utilizar compresión GZIP al “vuelo”

Batería

Consideraciones

finales.

Fuente: Google I/O

- Cambios de celdas consumen mucho

- Reciclar objetos Java

- Utilizar localización red antes que GPS

Objetivos

Respuesta rápida.

Evitar que nuestra aplicación deje de

responder.

Tipos de error

FC: Forzar cierre (Error en el programa)

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

Objetivos

Alto rendimiento.

Evitar acciones lentas, optimizar, buscar

fluidez.

Objetivos

Accesibilidad.

Aplicaciones cómodas, sencillas e intuitivas.

Objetivos

Integridad.

Conocer contexto, respetar normas, seguir consejos.

Fichero .APK

Estructura de una aplicación de Android.

Posibilidades

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

Posibilidades

Multitud de frentes que podemos controlar en

nuestra aplicación.

Importante:

Buena idea

DDMS

Dalvik Debug Monitor

Monitorización de la máquina virtual.

Android Market

Acceso automático a usuarios a una tienda

de aplicaciones gratis y de pago.

Android Market

Versión vía web.

- Búsqueda

- Instalación

Distribución

Web Market/AppStore

Distribución

Web Market/AppStore

Alta: ~18€Gratis

Distribución

Web Market/AppStore

Alta: ~18€Alta: ~70€

GratisAlta: ~210€

Distribución

Web Market/AppStore

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

GratisAlta: ~210€/año

Tasa para estudiantes

No tiene

Tasa para estudiantes

No tieneSi, gratis

Sólo usable en dispositivo físico

No tieneSi, gratis

forever distribution

IngresosCobro por app Cobro por publicidad

App Inventor

Construir apps mediante un sistema

tipo puzzle.

StackOverflow

Resolver dudas y ampliar conocimientos

Enlaces

Sitios interesantes sobre Android con

información, novedades y recursos.

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