Está en la página 1de 35

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)

También podría gustarte