Professional Documents
Culture Documents
Puntos a tratar
Licencia Qu hay dentro? Quin lo hace? Dispositivos, hardware Android SDK, capas, tipos de aplicaciones Desarrollo y consideraciones Planificacin del taller AppAndroid
Android
Sistema operativo para dispositivos mviles Ncleo basado en el de Linux Programacin de aplicaciones en Java
Depto. Ciencia de la Computacin e IA (Univ. Alicante) App Android Intro-3
Historia: motivacin
Los dispositivos embebidos se programaban a bajo nivel: necesidad de entender todo su hardware Sistemas operativos: abstraccin del hardware
Ej: Symbian. Cdigo en C/C++. Nivel medio/bajo, bibliotecas propietarias, complicaciones con hardware especfico.
Java ME: abstrae del HW y del SO. Mquina virtual limita el acceso a hardware.
Licencia
Android
Sistema operativo (Licencia Apache) Plataforma de desarrollo (Licencia Apache)
Licencia Apache
Open Source Permite a los fabricantes aadir extensiones propietarias sin ponerlas en manos de la comunidad del software libre
Open Source
El open source hace posible:
Una comunidad de desarrollo, gracias a sus completas APIs y documentacin ofrecida. Desarrollo desde cualquier plataforma (Linux, Mac, Windows, etc). Un sistema operativo para cualquier tipo de dispositivo mvil, al no estar diseado para un slo tipo de mvil. Posibilidad para cualquier fabricante de disear un dispositivo que trabaje con Android, y la posibilidad de abrir el sistema operativo y adaptarlo o extenderlo para su dispositivo. Valor aadido para los fabricantes de dispositivos: las empresas se ahorran el coste de desarrollar un sistema operativo completo para sus dispositivos. Valor aadido para los desarrolladores: los desarrolladores se ahorran tener que programar APIs, entornos grficos, aprender acceso a dispositivos hardware particulares, etc.
De qu est hecho?
Ncleo (branch) basado en linux (memoria, procesos, hardware) Bibliotecas open source (SQLite, WebKit, OpenGL, manejador de medios, etc). Entorno de ejecucin Dalvik Framework de desarrollo: pone a disposicin de las aplicaciones los servicios del sistema SKD: herramientas, plug-in para Eclipse, emulador, ejemplos, doc. Interfaz de usuario para pantalla, dispositivos de entrada, etc. Aplicaciones preinstaladas (destacamos Flash Player) Android Market
Desarrollan Android:
Open Handset Alliance
Trata de definir estndares abiertos para dispositivos mviles Consorcio de decenas de compaas (entre ellas est Google):
Operadores de telefona mvil Fabricantes de dispositivos Fabricantes de procesadores y microelectrnica Compaas de software Compaas de comercializacin
Cuestiones ticas
Aspectos positivos
Cdigo abierto
Valor aadido para todos Mantenibilidad Seguridad informtica Transparencia del uso de sensores
Cuestiones ticas
Aspectos negativos
Obligatorio log-in con el ID de Google (dependencia) Constante intercambio de datos con Google Envo de localizacin (desactivable) Los usuarios no estn concienciados de la dependencia de los servidores de Google y lo aceptan sin ms. Aunque el SO sea libre, gran parte de su valor est en los servicios gratuitos de Google, que no son libres ni conocemos el tratamiento que dan a nuestra informacin privada.
CAMON Alicante, 11-12 enero 2010 Depto. Ciencia de la Computacin e IA (Univ. Alicante) App Android Intro-10
Dispositivos
Procesador
Snapdragon de Qualcomm
Arquitectura ARM (el 98% de los mviles la usan)
Tipo RISC: reduced instruction set computer
Android SDK
Licencias, distribucin y desarrollo gratuitos, tampoco hay procesos de aprobacin del software. No diferencia entre aplicaciones nativas y de terceros. Acceso al hardware de WiFi, GPS, Bluetooth y telefona, permitiendo realizar y recibir llamadas y SMS. Control completo de multimedia, incluyendo la cmara y el micrfono. APIs para los sensores: acelermetros y brjula. Mensajes entre procesos (IPC). Almacenes de datos compartidos, proveedores de contenidos, SQLite, acceso a SD Card. Aplicaciones y procesos en segundo plano. Widgets para la pantalla de inicio (escritorio). Integracin de los resultados de bsqueda de la aplicacin con los del sistema. Uso de mapas y sus controles desde las aplicaciones. Aceleracin grfica por hardware, incluyendo OpenGL ES 2.0 para los 3D.
Capas
Tipos de aplicaciones
Primer plano (activities) Segundo plano
Servicios puros Servicios combinados con actividades
Widgets de escritorio
Respetar al usuario
No robar el foco Pocos avisos Interfaz intuitiva y coherente con Android
Actividades
Activity: tarea destinada a mostrar una interfaz grfica al usuario. Slo podemos ver en pantalla una actividad a la vez. Una aplicacin suele estructurarse en un conjunto de actividades. Una aplicacin puede mostrar actividades de otras aplicaciones o actividades nativas del sistema (por ejemplo, la de enviar SMS).
CAMON Alicante, 11-12 enero 2010 Depto. Ciencia de la Computacin e IA (Univ. Alicante) App Android Intro-18
Intents
Intent, propsito. Es una descripcin abstracta de una operacin a realizar. Los utilizaremos para pasar de una actividad a otra. Usos:
Con startActivity para lanzar una actividad Con broadcastIntent para enviarse a cualquier componente receptor BroadcastReceiver. Con startService o bindService para comunicar con un servicio (Service) que corre en segundo plano.
Intents
Otras acciones del sistema
ACTION_ANSWER ACTION_CALL ACTION_DELETE ACTION_DIAL ACTION_EDIT ACTION_INSERT ACTION_PICK ACTION_SEARCH ACTION_SENDTO ACTION_VIEW ACTION_WEB_SEARCH
Guin de AppAndroid
Introduccin a Android y a la programacin de aplicaciones Prctica 1: Hola Mundo (layouts y Descanso de 10 min? componentes para la interfaz). Prctica 2: Lector de noticias CAMON
Creacin de la aplicacin, recursos, interfaz, AsyncTask
(da 2)
Carga de imgenes, dilogos, sntesis del habla Generar paquete instalable
Preguntas...?