Anda di halaman 1dari 56

Introduccin a Android

Versin 1.1.20110717-beta Jose B. Cortes - @jbeerdev Licencia Reconocimiento Compartir bajo la misma licencia 3.0 Espaa de Creative Commons

Introduccin - Qu es Android?

Plataforma para dispositivos mviles

Sistema operativo / Middelware Conjunto de aplicaciones API (Application Programming Interface) para desarrolladores

Cdigo libre

Licencia Apache 2.0 https://android.git.kernel.org/ Android libre Aplicaciones libres

Introduccin - Qu es Android?

Ms caractersticas:

Basado en el ncleo de Linux Mercados de aplicaciones (Android Market, SlideMe...) Fcil y rpido desarrollo Sintaxis Java XML para las pantallas(layouts) y archivos de config Gran comunidad de desarrolladores detrs.

Historia - Orgenes

Android desarrollado por la start-up Android Inc. Google compra Android Inc. (2005) Google Anuncia Android (noviembre 2007) y proporciona SDK (Software development Kit) Se crea la Open Handset Alliance HTC Dream (1 telfono con Android) comercializado en EEUU (octubre 2008)

Historia - OHA

Grupo de 65 empresas tecnolgicas y operadores mviles Objetivo: Acelerar la innovacin en la tecnologa mvil, para ofrecer al usuario final una mejor experiencia con dispositivos mviles Liderada por Google Desarrolla y potencia Android

Historia - OHA

Historia Roadmap
Versiones anteriores de Android 1.0 (Octubre 2008) 1.1 (Febrero 2009) 1.5 Cupcake (Abril 2009) Versiones actuales de Android 1.6 Donut (Septiembre 2009) 2.0/2.1 Eclair (Noviembre 2009) 2.2 Froyo (Mayo 2010) 2.3 Gingerbread (Diciembre 2010) 3.0 HoneyComb (Marzo 2011) Futuras versiones de Android 2.4 IceCream ?

Historia Roadmap

Cada versin trae mejoras sustanciales respecto a la anterior. Ejemplos:

1.5 grabar y reproducir videos 1.6 soporte diferentes tamaos de pantalla. 2.0 API de Bluetooth. ...

Historia Actualidad
Incremento de dispositivos Android de diversos fabricantes (HTC, Motorola, Samsung...) Gran competencia al Iphone (Apple) Uso en micro-porttiles (Acer, Dell...), tablets, coches, reproductores multimedia ... Aprox 250.000 aplicaciones en el mercado (gratuitas y de pago)

Plataforma - Caractersticas

Libreras grficas (OpenGL) Sistema de base de datos (Sqlite) Soporte multimedia (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Conectividad (Wifi, Bluetooth, 3G...) Acceso a Hardware: Camara de fotos, GPS, acelermetro, brjula Herramientas potentes para el desarrollo de aplicaciones Mquina virtual propia (Dalvik Virtual Machine)

Plataforma - Arquitectura

Plataforma - Arquitectura

Aplicaciones

Aplicaciones a alto nivel. Tanto las aplicaciones por defecto como las de terceras personas (desarrolladores)

Framework

Recursos y servicios disponibles para las aplicaciones de alto nivel Libreras en c/c++ usadas en varios componentes del sistema Android (Bases de datos, libreras grficas...)

Libreras

Runtime

Dalvik VM. Optimizada para dispositivos mviles. Versin 2.6 del ncleo de linux.

Ncleo de Linux

Conclusiones
Android permite un desarrollo fcil y rpido de aplicaciones Uso del modelo de 3 capas. Lenguajes conocidos (Java y XML) Herramientas gratuitas y libres para el desarrollo. Eclipse Android SDK Alto crecimiento en los ltimos meses nmero de dispositivos. coste.

Conclusiones

Android visto como usuario

Era pre-Markets
Instalacin manual - Windows mobile .cab (USB) - J2ME .jar (desde Web, por bluetooth) - Symbian .sis (USB) Poco mercado de aplicaciones para usuarios de a pie.

Revolucin del mercado de Apps


Julio 2008 Apple App Store Octubre 2008 Android Market Abril 2009 Blackberry App World Mayo 2009 Nokia Ovi Store Octubre 2010 Windows Phone Markeplace Fabricantes, Operadores...

Revolucin del mercado de Apps


25000 13000 35000

200000

Windows Phone 7 BlackBerry App World Android Market App Store Ovi Store

300000

Android Market
- Activacin cuenta de Google. - Dispositivos Android desde primeras versiones. - Pago de aplicaciones usando Google Checkout. - Reciente estreno de web. https://market.android.com/apps - Problemas -No control de tus apps? Don't be evil - Fragmentacin

Android Market
Inicio Bsqueda Ficha de aplicacin

Android Market
Descarga Apps instaladas Desistalacin

App Store
- Cuenta de iTunes (gratuita) - Tarjeta de crdito vinculada a iTunes - Comprar aplicaciones desde iTunes - Web iTunes http://www.apple.com/es/itunes/ - Problemas: - Fuertes restricciones App Store - No control de tus apps

App Store
Inicio Ficha de aplicacin Autenticacin

App Store
Grid de Aplicaciones Eliminar Aplicacin

Ovi Store
- Cuenta de Nokia - Tarjeta de crdito - Web Ovi Store http://store.ovi.com/ - Enviar Apps al telfono - Problemas - Incompatibilidad telfonos - Sistema obsoleto?

Ovi Store
Crear Cuenta Inicio Detalle de App

Ovi Store
Descargar/Insta lar Apps Comprar App

BlackBerry App World


- Id cuenta Blackberry - Tarjeta de crdito - Web AppWorld http://appworld.blackberry.com/webstore/ - Problemas - No se devuelve el dinero

BlackBerry App World


Buscar Detalles de aplicacin Autenticacin

BlackBerry App World


Descarga Seguridad Listado de apps Instaladas

Fuentes
Android Market https://market.android.com/apps App Store (iTunes) http://www.apple.com/es/itunes/ Ovi Store http://store.ovi.com/ App World http://appworld.blackberry.com/webstore/

Las imgenes obtenidas han sido sacadas de los dispositivos de compaeros y amigos.

Android visto como desarrollador

Dificultades
Aplicaciones mviles Aplicaciones escritorio - Recursos (+ Optimizaciones) + Limitaciones = + trabajo para el desarrollador

Dificultades
Aadidos: - Multitud de plataformas - Diferentes versiones dentro de la plataforma - Diferentes de IDE's - Entornos de desarrollo. Mvil? Emulador?

Pasos a seguir en todo desarrollo


Pasos comunes:
-Configuracin entorno -Creacin de proyecto en plataforma

Pasos iterativos (Agile?)


Diseo Desarrollo Testeo Despliegue

Configuracin de entorno - Android


Descarga e instalacin de IDE (Eclipse)
-Web oficial. http://www.eclipse.org/ -Eclipse IDE for Java Developers, 98 MB

Descarga e instalacin SDK


-Web oficial. http://developer.android.com -Android Manager para gestionar versiones

Descarga e instalacin ADT en Eclipse


-Plugin eclipse: https://dl-ssl.google.com/android/eclipse/ -Ruta SDK necesaria

Configuracin de entorno - Android


USB-Drivers
-Desarrollar sobre dispositivos reales

Windows
-Driver en <sdk>/google-usb_driver

Mac
-No es necesario

Configuracin de entorno - Android

Ubuntu
1. Acceder como root a : /etc/udev/rules.d/51-android.rules. Para Gusty/Hardy, editar el fichero aadiendo: SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" Para Dapper, editar para que aparezca: SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666" 2 .Ejecutar: chmod a+r /etc/udev/rules.d/51-android.rules

Configuracin de entorno - Android


Instalacin SDK (<sdk>/tools/android)

Creacin de proyecto - Android


New Android Project Formulario de creacin de proyecto -Nombre de proyecto -Localizacin .. Formulario de creacin de Proyecto de Test

Arquitectura del proyecto - Android

} }

Desarrollo

Diseo

Arquitectura del proyecto - Android


Programacin en lenguaje Java, libreras propias, APIS distintas XML para el diseo C para el NDK

Diseo de un proyecto - Android


Bocetos, prototipos - En papel, dibujos - Balsamiq: http://balsamiq.com/products/mockups

Diseo de un proyecto - Android


Cmo nos gustara que fuese la aplicacin? -Imgenes -Diseo de pantallas -Flujo de pantallas -Estilos

Diseo de un proyecto - Android


Diseos y recursos en Android? /res /drawable Imgenes, png, xml /layout Pantallas, xml Hint! Limitaciones, nombres de los archivos. Maysculas

Diseo de un proyecto - Android


Diseador de UI (Caractersticas) -Visor del cdigo XML -Visor de los elementos grficos -Edicin de atributos de los elementos -Posibilidad de trabajar con diferentes resoluciones y tamaos de pantallas. Mejora cada versin del plugin/SDK.

Diseo de un proyecto - Android


Componentes bsicos para el desarrollo de cualquier aplicacin Android: -Activities -Services -Broadcast Receivers -Content Providers Hint! Se puede ver una app android como un flujo de Hint Activities.

Desarrollo de un proyecto - Android

Desarrollo de un proyecto - Android

Desarrollo de un proyecto - Android


AndroidManifest.xml - Informacin sobre la aplicacin - Icono - Nombre - Versin - Listado de Activities Servicios Content providers Broadcast recievers - Nivel mnimo de API - Permisos de usuario - Libreras externas que usamos

Compilacin del proyecto - Android


.apk Archivo comprimido con las clases y recursos necesarios para ejecutar la aplicacin <project-folder>/bin Se encuentra - AndroidManifest.xml - classes.dex - resources.arsc - res (carpeta) - META-INF (carpeta)

Testeo de un proyecto - Android


Uso de herramientas para el TDD - Diseo orientado a Tests Testeo unitario - Junits Testeo de Integracin - Junits + acceso a BBDD/Conexin HTTP Testeo funcional - Robotium - Robolectric - Monkey

Despliegue de un proyecto - Android


- Como desarrollador: Usando el IDE. (Eclipse, pe) - Lnea de comandos: adb install myApp.apk - Usando Android Market https://market.android.com/apps Hint! Es necesario firmar la aplicacin para subirla al Market

Fuentes
Esta presentacin fue realizada por el autor para un curso dado por Frogtek Plugin eclipse Android: https://dl-ssl.google.com/android/eclipse/ Balsamiq: http://balsamiq.com/products/mockups Robotium http://code.google.com/p/robotium/ Robolectric http://pivotal.github.com/robolectric/

Fuentes

Android Imgenes obtenidas en la web de Android Web desarrolladores: http://developer.android.com/index.html Cdigo fuente: http://source.android.com/ Artculos: http://sites.google.com/site/josebcortes/articulos/the-bright-hub Varios Open Handset Alliance: http://www.openhandsetalliance.com/

Dudas? Gracias
Versin 1.1.20110717-beta Jose B. Cortes - @jbeerdev Licencia Reconocimiento Compartir bajo la misma licencia 3.0 Espaa de Creative Commons

Anda mungkin juga menyukai