Cursos de orientación profesional ACCIONES COFINANCIADAS CON FONDOS COMUNITARIOS DEL FONDO SOCIAL EUROPEO, A TRAVÉS DEL PROGRAMA OPERATIVO FONDO SOCIAL EUROPEO DE CANARIAS 20072013 CON UN PORCENTAJE DE CONFINANCIACIÓN DEL 85%.
Día 1 Qué es Android? Actividades e intenciones Día 2 Layouts y controles gráficos Recursos, menús y diálogos Día 3 Persistencia de datos y content providers Gráficos y animaciones 2D y 3D Día 4 Servicios en segundo plano Control del hardware especial Día 5 App Widgets y Live folders Publicación de aplicaciones
Creación de aplicaciones móviles en Android Rayco Araña rayco.arana@gmail.com Instituto SIANI
Historia Características y competidores Dispositivos Arquitectura Modelo de aplicaciones Herramientas de desarrollo
Historia Características y competidores Dispositivos Arquitectura Modelo de aplicaciones Herramientas de desarrollo
Julio 2005 Google adquiere Android, Inc. Pequeña empresa que desarrolla software para móviles (hasta entonces una gran desconocida) Noviembre 2007 Nace la Open Handset Alliance Consorcio de empresas unidas con el objetivo de desarrollar estándares abiertos para móviles Texas Instruments, Broadcom co., Google, HTC, Intel, LG, Marvel Tech., Motorola, Nvidia, Qualcomm, Samsumg Electonics, Sprint Nextel, T-Mobile Se anuncia su primer producto, Android, plataforma para móviles construida sobre el kernel de Linux 2.6
Octubre 2008 Publicado el proyecto open source Android Distribuido principalmente con licencia Apache 2.0 Partes en otras licencias, p.e. GPL v2 para el núcleo Se abre el Android Market HTC Dream (G1), primer teléfono con Android Diciembre 2008 Nuevas incorporaciones ARM Holdings, Athreos Communications, Asustek Computer Inc., Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp y Vodafone Group Plc.
Noviembre 2009 Motorola Droid Consigue vender 1.05 millones de unidades en 74 días, superando el record establecido por el iphone de Apple Diciembre 2009 16.000 aplicaciones en el Market 60% gratuitas, 30% de pago aprox. Enero 2010 Google Nexus One (HTC) Malas cifras de ventas, apenas 135 mil unidades en 74 días Febrero 2010 Google anuncia la buena marcha de Android 60.000 teléfonos con Android vendidos al día
Historia Características y competidores Dispositivos Arquitectura Modelo de aplicaciones Herramientas de desarrollo
Características Framework de aplicación que habilita la reutilización y reemplazo de componentes Máquina virtual Dalvik optimizada para móviles Navegador integrado basado en WebKit Gráficos optimizados por una librería gráfica 2D propia; gráficos 3D basados en la especificación OpenGL ES 1.0 SQLite para almacenamiento de datos estructurados
Características Soporte para gran variedad de archivos multimedia (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Telefonía GSM Bluetooth, EDGE, 3G y WiFi (4G, WiMAX, ) Cámara, GPS, compás, acelerómetro, Entorno de desarrollo completo incluyendo emulador, herramientas de depuración, profiling de memoria y rendimiento y plugin para el IDE Eclipse
Versiones Octubre 2008 Android 1.0 API Level 1 Febrero 2009 Android 1.1 API Level 2 Abril 2009 Android 1.5 Cupcake API Level 3 Septiembre 2009 Android 1.6 Donut API Level 4 Noviembre 2009 Android 2.0 Éclair API Level 5 Diciembre 2009 Android 2.0.1 API Level 6 Enero 2009 - Android 2.1 API Level 7
Versiones - Futuro???? Android X.X - Froyo API Level 8????? Android X.X - Gingerbread API Level 9?
Competidores Apple iphone OS RIM Blackberry Microsoft Windows Mobile 6.5 Phone 7 Series Symbian Foundation Symbian OS Palm WebOS
Competidores
Historia Características y competidores Dispositivos Arquitectura Modelo de aplicaciones Herramientas de desarrollo
HTC Dream, Magic (mytouch3g), Hero, Tattoo, Nexus One(*), Desire, Legend Motorola CLIQ, Droid (Milestone), DEXT Acer, Archos, Dell, Huawei, Lenovo, LG, Samsumg, Sony Ericsson,
Historia Características y competidores Dispositivos Arquitectura Modelo de aplicaciones Herramientas de desarrollo
Kernel linux 2.6 Runtime basado en VM Dalvik Conjunto de librerias C/C++ Framework común a todas las aplicaciones basada en servicios Aplicaciones base implementadas en Java (todas reemplazables)
Historia Características y competidores Dispositivos Arquitectura Modelo de aplicaciones Herramientas de desarrollo
Aplicaciones Escritas en Java y empaquetadas en Android package (apk) Cada aplicación es independiente Se ejecuta en su propio proceso de Linux Cada proceso tiene su propia máquina virtual de Java Cada aplicación tiene asignado un ID de usuario de Linux Solo ese ID de usuario tiene permisos para acceder a los archivos de la aplicación
Componentes de una aplicación Actividades Servicios Broadcast receivers Content providers
Actividad Presenta una interfaz de usuario enfocada en algo que el usuario puede realizar Elegir un contacto, seleccionar una fotografía, Una aplicación consistirá en un conjunto de actividades independientes que trabajan juntas Una de las actividades se marca como la inicial al arrancar una aplicación
Servicio No tiene UI Se ejecuta en background por periodo indefinido Ej. Reproductor de música Expone una interfaz para intarctuar Ej. Parar la reproducción de música Es posible acceder desde otros componentes o aplicaciones
Broadcast receivers No realiza ningún acción por si mismo Recibe y reacciona ante anuncios de tipo broadcast Existen muchos originados por el sistema Ej. Batería baja Las aplicaciones puede lanzar un broadcast No tienen UI, aunque pueden iniciar una actividad para atender al anuncio
Content providers Expone un conjunto especifico de datos a otras aplicaciones Los datos pueden estar almacenados en cualquier lugar: fichero, SQLite, internet, Hace uso de un ContentResolver para acceder a los datos expuestos por un content provider
Activación de los componentes Content providers Al recibir una petición desde un ContentResolver Actividades, Servicios y Broadcast Receivers Al recibir un mensaje asíncrono llamado Intención En actividades y servicios Representa la intención de querer realizar algo Ej. La intención de seleccionar un contacto como remitente En broadcast receivers Representa el anuncio del comienzo de una acción Ej. Anunciar que se ha pulsado el botón de la cámara
El fichero de manifiesto Propiedades de la aplicación Declaración de todos los componentes existentes en la aplicación Intent filters Un componente indica a intenciones puede responder
El fichero de manifiesto Declaración de los permisos requeridos uses-permission Acceso a determinado, estado del telefono, acceso a internet, etc. Los permisos que requiere se muestran al usuario al instalar la aplicación Declaración de permisos propios Restringe que aplicaciones pueden hacer uso de un determinado componente
Historia Características y competidores Dispositivos Arquitectura Modelo de aplicaciones Herramientas de desarrollo
Android SDK Paquete con las herramientas necesarias para desarrollar aplicaciones Desde el SDK 1.6, aparece Android SDK and AVD Manager, permite actualizar y descargar nuevas versiones del SDK de forma cómoda Incluye emulador, driver para el dispositivo (Windows), herramientas de depuración, etc.
Android SDK Android Development Tools (ADT) Plug-in para Eclipse Incluye vista DDMS Procesos en ejecución Navegación por el sistema de ficheros Logs Proyecto, editor de vistas, compilación de recursos, firma y exportación de aplicaciones,
Android NDK Añadido al SDK Permite escribir partes críticas de nuestra aplicación en código nativo (C/C++) Soporte para OpenGL ES 2.0 Android >1.5 Ideal para videojuegos
Creación de aplicaciones móviles en Android Creando nuestra primera aplicación para Android
Qué es Android? Android Developer Reference http://developer.android.com/guide/basics/what-is-android.html http://developer.android.com/guide/topics/fundamentals.html Android Application Development Reto Meier, Editorial Wrox Wikipedia http://en.wikipedia.org/wiki/android_(operating_system)