Company LOGO
Android: Aplicaciones y Desarrollo
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Agenda
Conceptos: Android Historia Caracteristicas: porque Android Arquitectura Desarrollo de aplicaciones Diseo de aplicaciones Estructura de las aplicaciones Componentes de la aplicacion Herramientas Conclusiones Referencias y preguntas
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Conceptos
Es un sistema operativo para equipos moviles, dispone de codigo fuente abierto bajo diferentes licencias de software libre Es desarrollado por Open Handset Alliance que incluye Google, HTC, Motorola, entre otras.
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Historia
2005 Google adquiere Android 2007 Open Hanset Alliance se forma (HTC, Motorola, Google, etc) para desarrollar estandar abierto para dispositivos moviles 2008 Android disponible como codigo abierto y libre 2009 Abril Version 1.5 Disponible 2009 Septiembre Version 1.6 disponible 2009 Octubre Version 2.0 disponible 2009 Diciembre 2.0.1 2010 Enero 2.1
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Caracteristicas
Framework de aplicaciones Maquina virtual Dalvik Navegador integrado API para graficas 2D y 3D con hardware SQLite para almacenamiento de datos Soporte para codecs y formatos de audio, video, imagenes (OGG, AAC, MPEG4, JPG... mas) Telefonia GSM Camara, Brujula, WiFi, Bluetooth Pantalla Tactil (multitouch) Multitarea
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Caracteristicas: Porque Android
Crecimiento Rpido
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Caracteristicas: Porque Android
Plataforma abierta Mayor rendimiento Mejor aprovechamiento del HW Las aplicaciones se escriben en Java Se integra mejor con los componentes del equipo El nucleo Linux garantiza estabilidad y seguridad SDK Gratis y disponible Mucha documentacion Muchas APIs Market
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Versiones
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Arquitectura
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Desarrollo de aplicaciones
Las aplicaciones se desarrollan en Java
package [Link]; import [Link]; import [Link]; public class HelloActivity extends Activity { public HelloActivity() { } @Override public void onCreate(Bundle icicle) { [Link](icicle); setContentView([Link].hello_activity); } }
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Desarrollo de aplicaciones
El codigo fuente es Java Compilado en Java
Transformado a Dalvik bytecode
Cargado en Dalvik VM
Linux OS
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
La maquina virtual DALVIK
Cada APP tiene un ID, pero lo pueden compartir para acceder a archivos
Las app se pausan, terminan y se restauran, para dar la ilusion de correr siempre Corre multiples VMs eficientemente
Cada app corre su VM Minima memoria usada Cada aplicacion comparte sus capacidades con las otras
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Diseo de las aplicaciones
Activity Manager Manejan el ciclo de vida de las aplicaciones y proveen navegacion entre ellas Notification Manager Permite a las aplicaciones mostrar alertas en la barra de estado Resource Manager, Provee acceso a recursos como texto localizado, graficas y archivos de distribucion visual
ANDROID Juan Fajardo B. :: [Link]
Views tales como listas, cuadriculas, cajas de texto, botones e incluso un navegador empotrable Content Providers Permiten a las aplicaciones acceder a datos de otras aplicaciones (como contactos por ejemplo)
Company LOGO
Diseo de las aplicaciones
Activity es la capa de presentacion de la aplicacion, hay una por pantalla y los Views proveen la interfaz visual de la app Intents Especifica que accion debe realizarse Services corren en el fondo y no tienen UI actualizan datos y disparan eventos
Broadcast receivers pueden disparar intents que inician una aplicacion Data storage Provee datos a las aplicaciones y pueden compartirse entre ellas bases de datos, archivos y preferencias compartidas
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Estructura de las APP
code
files
images
Autogenerated resource list
UI layouts constants
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Estructura de las APP
Notifications
Has life-cycle
Activity Views Intents
screen App to handle content
Service manifest
Background app Like music player
ContentProviders
Other applications
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Componentes de la aplicacion Layouts
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Activity: El APP en ejecucion
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Herramientas
Eclipse Android SDK .
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Conclusiones
Oportunidad en desarrollo Mucho por hacer... mercado disponible El futuro de Android: Las tabletas Mas smartphones Mas servicios
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Referencias
[Link] Sitio oficial documentacion, sdk, etc [Link] Aprender Java [Link] El IDE para desarrollar jfajardo@[Link] Mi correo Preguntas????
ANDROID Juan Fajardo B. :: [Link]
Company LOGO
Gracias
ANDROID Juan Fajardo B. :: [Link]