Introduccion a la plataforma Android



Documentos relacionados
Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

TEMA 1. Introducción

Introducción a Android. Felipe Andres Besoaín Pino Talca 12 de Junio del 2009

Tema 2: Introducción a Android

Capitulo 1: Plataforma Android

DESARROLLADOR ANDROID INTRODUCCIÓN ANDROID. Ing. Marco Antonio Toscano Freire tw: martosfre

Curso de Android con Java

Unidad I. Introducción a la programación de Dispositivos Móviles

Visión general y entorno de desarrollo


Curso de HTML5 y CSS3

U2. Introducción al desarrollo de aplicaciones móviles Smartphone y Android Desarrollo de Aplicaciones III TIC-UTSV Enero 2015 I.S.C.

TP Nº 2 Mobile App. Ramiro Giunta Sistemas de Diseño Gráfico Cátedra Wolkowicz 2015

Programación Android Completo

Diseño de aplicaciones móviles seguras en Android.

UNIVERSIDAD TECNICA DEL NORTE

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Guía de uso del Cloud Datacenter de acens

BearSoft. SitodeCloud. Rafael Rios Bascón Web: Móvil:

Windows Server 2012: Infraestructura de Escritorio Virtual

Sistema en Terreno SmartPhone Android

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

Capitulo 1. Introducción a Objetos de Aprendizaje Móvil

ANDROID. Aprende desde cero a crear aplicaciones. José Dimas Luján Castillo

WEB APP VS APP NATIVA

afosoft Sistema de gestión de aplicaciones móviles, para catálogos de expositores en ferias de muestras Feria Artesanal ArsOlea 2014

Desarrollo de Smarphones sobre plataformas libres para PC y PDA. David Cortés, José Luis González, Servando Saavedra y Juan Ramón Saavedra

Presentación y objetivos

La netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula.

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Los distintos navegadores para movernos por Internet

Google Drive y Almacenamiento en Nubes Virtuales

Windows Server 2012: Infraestructura de Escritorio Virtual

Desarrollo de apps para móviles Android. Introducción a Android

Gestión de Equipos en Movilidad. Paseo de Chil 29,Las Palmas G.C.

Infraestructura Tecnológica. Sesión 12: Niveles de confiabilidad

CAPÍTULO 1 Instrumentación Virtual

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Gestión Dispositivos Móviles Dexon Software

Introducción a Gestión de Proyectos. Beneficios del Sistema. Arquitectura y Diseño del Aplicativo. Requerimientos del Sistema.

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

CAPITULO I El Problema

Utilización del sistema operativo GNU/ Linux en las netbooks


PROPUESTA DE DESARROLLO DE SITIO WEB AVANZADO

Elementos requeridos para crearlos (ejemplo: el compilador)

Introducción. Aprendiendo APP INVENTOR 13. Qué perfil debe tener el lector del libro? Qué aprenderé?

E-learning: E-learning:

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

S o l u c i o n e s I n f o r m a t i c a s. Soluciones a un solo clic

Producto. Información técnica y funcional. Versión 2.8

PROGRAMACIÓN DE SISTEMAS INFORMATICOS. Certificado de profesionalidad IFCT0609

Capítulo 7. Implementación del Sistema

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

Resumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva

Sistema de marketing de proximidad

Visión General de GXportal. Última actualización: 2009


Manual de la Aplicación Móvil Creapedidos. Gestión y seguimiento de pedidos desde tu dispositivo móvil.

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

CAPÍTULO II. Gráficos Dinámicos.

asired middleware XML Así-Red Servicios Telemáticos, S.L.L. w w w. a s i r e d. e s

Informe de la ciudad de Seattle sobre el acceso y la adopción de la información de tecnología

CONTRATACIÓN DESARROLLO DE APLICACIÓNES PARA DISPOSITIVOS MOVILES

Capítulo 5. Cliente-Servidor.

PLATAFORMA i-datum Desarrollo e Implementación

SERVICIOS. Reingeniería. Instalación / Puesta en marcha. Personalización. Cursos de formación. Servicio técnico. Servicio de mantenimiento

Unidad III. Software para la administración de proyectos.

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Ingeniería de Software. Pruebas

Big Data y BAM con WSO2

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

BASES DE DATOS OFIMÁTICAS

Sistema Gestión Licitación para la compra del desarrollo y migración del Sistema de Gestión de Activos y Configuraciones para Plan Ceibal

POLÍTICA DE PRIVACIDAD PARA APLICACIONES MÓVILES GRUPOCOPESA. 1. información que se obtiene la aplicación y su utilización

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Consultoría y Desarrollo de Sistemas CONTROLMAP. Software : Sistema Integral de Registro y Seguimiento de Eventos e Incidencias en Mapas Digitales

2. Accedemos al dominio, introducimos el nombre de usuario y la contraseña para acceder. Y damos click en Aceptar.

Sistema de Mensajería Empresarial para generación Masiva de DTE

3.3.3 Tecnologías Mercados Datos

Aplicaciones en Tiempo Real con node.js Por: Oscar Gracia. Aplicaciones en tiempo real con node.js. Marzo

Análisis de aplicación: Virtual Machine Manager

CONCLUISIONES Y RECOMENDACIONES

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

Qué es Record Keeper?

Capitulo I. Introducción

TRABAJO GRUPAL TEMA: COMO CREAR BASE DE DATOS EN SQL

Índice CONOCE EL PROCESO COMPRA DE TUS CLIENTES

Software Computacional y su clasificación

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

Transcripción:

Introduccion a la plataforma Android Felipe A. Besoaín Pino fbesoain@gmail.com 22-05-2009 Resumen Las características y usos que nos proveen los dispositivos móviles en los últimos años, han provocado un crecimiento exponencial en el desarrollo y comercio de ellos. Android es un sistema operativo licenciado bajo una licencia FLOSS (Free/Libre Open Source Software), diseñado específicamente para dispositivos móviles, este fue creado por Google y la OHA (Open Handset Alliance) [6]; Android, permite la estandarización de los dispositivos móviles y las aplicaciones para estos [5], esta será una charla introductoria y motivacional a Android. Palabras Claves: FLOSS, Android, Dispositivos móviles, Sistemas operativos Introducción Los dispositivos móviles actualmente son considerados como unas computadoras de bolsillo, esto es, básicamente por sus alcances y arquitectura que nos proveen, algunas características importantes son; la capacidad de procesamiento, memoria física, conexión a redes, entre otras; el avance de la tecnología ha permitido integrar otros tipos de hardware por ejemplo, sensores de movimientos (acelerometros), GPS [8], diversos tipos de conectores, etc [6, 1]. El eje escencial de un dispositivo móvil es, su alta configuración, uno de los principales objetivos de los desarrolladores de estos dispositivos es proveer al usuario un alto nivel de configuración, esta propiedad esta netamente relacionada en la interacción entre el sistema operativo y el hardware que posee el dispositivo. Podemos explotar realmente todo el potencial de nuestro dispositivo, si contamos con un S.O. propietario? Se puede acceder a la altos niveles de configuración del dispositivo o siempre estaremos limitados al propietario del S.O y sus interacciones?. Es por este motivo que la OHA [6], un consorcio de 48 empresas de telefonía móvil, entre ellas, Sony Erricsson, Samsung, Sagem, Lg. han dado pie, junto con Google company, para el desarrollo de un sistema operativo FLOSS, el cual, tiene como propósito establecer un estandar entre las compañías del OHA, así también entregar a los usuarios de los dispositivos las ventajas de usar un sistema basado en una ideología y un modelo de negocios completamente distinto al que es un fuerte hoy en día [4]. Motivación El libre desarrollo de aplicaciones junto con su distribución (FLOSS) [4, 3], nos entrega una amplia gama de oportunidades, ya sea, a nivel de conocimientos, distribución, licencias, servicios y negocios; Android, se presenta como un sistema operativo libre, creado por un consorcio de 48 empresas de telefonía móvil, entre ellas, Sony Erricsson, Samsung, Sagem, Lg (OHA) y Google, lo que lo hace mas atractivo, ya que, es un sistema operativo que actualmente esta siendo utilizado por la gran mayoría de las empresas de este consorcio logrando un éxito de ventas en el mercado y un crecimiento de un 900 por ciento en el último mes, junto

con ello, a nosotros como usuarios y programadores nos entrega un sin fin de oportunidades, ya que, como el sistema es abierto, podemos crear nuestras propias aplicaciones para nuestras propias necesidades, utilizando las librerías de desarrollo que nos provee la SDK de Android y todo el background de desarrolladores que esta detrás de el [5]. Android un sistema operativo para dispositivos móviles Android es un sistema operativo licenciado bajo una licencia FLOSS, diseñado específicamente para dispositivos móviles, este fue creado por Google y la Open Handset Alliance. Es una plataforma de desarrollo libre basado en Linux [1]. Permite la estandarización de los dispositivos móviles, y aplicaciones para estos. De la misma manera el hardware que se esta usando para construirlos sigue la misma temática, con lo cuál tenemos las siguentes ventajas tales como: Localización basada en servicios, que usan GPS o triangulación de torres por celdas permitiendo al usuario personalizar la interfaz dependiendo donde se encuentre. Una completa base de datos SQL, con el poder de almacenamiento local y para posibles sincronizaciones con un computador de escritorio. Una automática administración del ciclo de vida de las aplicaciones, ya que, los programas son controlados por diversas capaz de seguridad, lo que provee al sistema una estabilidad nunca vista antes en este tipo de dispositivos. De la misma manera el control de energía esta optimizado para un bajo consumo de energía y de memoria. Una gran calidad en gráficas y sonido, esta mediado por aceleración gráfica OpenGL[7] y vectores de antialiased en 2D, los codecs de audio y vídeo presentes son los mas comunes y estándares en la industrias, incluyendo H.24 (AVC), MP3, y AAC. La portabilidad a travéz del presente y futuro hardware, esta asegurada, ya que, todos los programas son escritos en JAVA y ejecutados por la maquina virtual Dalvik de Android, por lo tanto los programas podrán ser portables a travéz de ARM, x86 y otras arquitectura. Arquitectura del sistema operativo : Ver Anexo B Es muy interesante analizar la arquitectura de Android, ya que, es esta la que interactúa y nos abstrae con el hardware del dispositivo móvil. En la primera capa, la de mas bajo nivel podemos ver el Kernel de Linux, el cúal provee una abstracción de las capas del hardware, Android funciona bajo el Kernel de Linux principalmente por los beneficios que este entrega tales como: drivers probados, estables, gestión de memoria, gestión de procesos, módulos de seguridad, funciones de sistema robustas y software muy probado durante largo tiempo. La segunda capa en verde, tiene la particularidad de que todo el código esta escrito en C y en C++, estas son, las librerías nativas las que le dan la robustez al sistema operativo [2, 1]. Surface manager, Media Flamework, Webkit (Ver Anexo A.1). Dentro de esta capa, tenemos relacionada pero no es parte de esta, la Android Run time. En Android cada aplicación ejecuta sus propios procesos, con sus propias instancias de la máquina virtual Dalvik, esta se ha escrito de modo que un dispositivo puede correr múltiples procesos de manera eficiente (estamos en un sistema altamente concurrente). La máquina virtual Dalvik se basa en registros, y corre las clases compiladas por un compilador de lenguaje JAVA [2, 5]. La tercera capa de color azul construida en JAVA posee el core de las librerías, donde están todas las clases, métodos, entradas y/o salidas, estas librerías nos entregan funciones de alto nivel para la construcción de nuestras aplicaciones. Activity manager, Content providers, Location y Notification Manager (Ver Anexo A.2)- 2

La cuarta capa llamada capa de Aplicaciones es la capa mas alta en el diagrama de la arquitectura de Android, llamada la punta del iceberg. De hecho los usuarios solo trabajan y conocen esta capa, donde interectúan con las aplicaciones. El sistema viene con estas aplicaciones por defecto: Marcador de teléfonos, Email, Contactos, Navegador Web, Android Market. Es interesante señalar que para los usuarios estas son herramientas intrínsecas del dispositivo, pero para nosotros como desarrolladores son aplicaciones transparentes a la abstracción que ellas proveen. Escencia de la exposición En la presentación se abordarán los temas expuestos en el presente paper, con mayor profundización y extención de estos, utilizando siguente enfoque; actualidad, smartphones, FLOSS, Android su arquitectura y ciclo de vida de sus procesos, para finalizar con una breve demostración de una aplicación georeferenciada con el fin de mostrar como funciona el sistema operativo y sus abstracciones de nivel in vivo, lo que será más atractivo para que el público se motive y colabore de acuerdo a sus intereses. Referencias [1] Burnette,, Ed Hello, Android: Introducing Google s Mobile Development Platform [2] Meier,, Reto Professional Android Application Development [3] Open Source Initiative http://opensource.org/ [4] free software foundation http://fsf.org/ [5] Android Operating System http://developer.android.com/ [6] Open hand set alliance http://www.openhandsetalliance.com/ [7] OpenGL, The Industry s Foundation for High Performance Graphics http://www.opengl.org/ [8] Global Positioning System http://electronics.howstuffworks.com Área en la que se centra el trabajo: Sistemas Operativos Abiertos, Aplicaciones para Celulares. Nivel: Básico-Medio Enfoque de la presentación: Introducción al sistema operativo Android y sus potencialidades. Reseña: Estudiante de Ingeniería en Bioinformática de la Universidad de Talca, expositor en el congreso de la sociedad chilena de biología molecular 2006, ponente del congreso ENFIMIN de la USACH 2007, organizador del FLISOL en su versión 2008-2009, Durante el 2008 estuvo en España Estudiando en la Universidad Politécnica de Madrid, Técnicas de computación científica, Programación concurrente,. O ptimización informática, actualmente se encuentra realizando su tesis para obtener el grado de ingeniero en Bioinformática de la Universidad de Talca. Figura 1: Felipe Besoaín 3

A. Componentes de la arquitectura de Android A.1. A.2. Surface manager: Esta encargado de dibujar y controlar las diferentes instancias de la pantalla, en el mismo bloque podemos ver OpenGl [7] y SGL que básicamente son librerías de la abstracción del hardware para poder obtener aceleración gráfica. OpenGl trabaja con 3D y SGL con 2D una de las principales características es que Android puede trabajar con ambas al mismo tiempo. Media Flamework: Provee todos los recursos necesarios para la experiencia multimedia, codecs, formatos de archivos de voz estandarizados por la OHA ( H.24 (AVC), MP3, y AAC, MPEG, AVI) Webkit: Posee el centro o core del Browser utilizado en Android, basado en el Browser Safari de Apple modificado y optimizado para dispositivos móviles. Activity manager: Controla el ciclo de vida de las aplicaciones, mantiene el Backstack (cuando las aplicaciones están corriendo diferente procesos). Content providers: estos objetos encapsulan datos, que serán necesarios, para ser compartidos entre las diferentes aplicaciones. Por ejemplo, los contactos del teléfono, de esta manera podrán acceder todas las aplicaciones a el. Location and Notification Manager: son sistemas encargados de localizar el dispositivo mediante georeferenciación y capturara eventos como la llegada de una mensaje de texto, alertas, bugs, y cualquier instancia que sea obstructiva para el usuario, respectivamente. 4

B. Arquitectura de Android y sus componentes Figura 2: Arquitectura de Android. Figura tomada de [5] En la presente figura, podemos ver la arquitectura de Android, en un modelo de 4 capas, en él podemos ver la relación desde la base del sistema hasta el mas alto nivel de abstracción [5]. Es muy importante saber como es la arquitectura de nuestro sistema operativo, ya que, es este el que asigna, distribuye y planifica todos los procesos y recursos de nuestro dispositivo móvil, tratando de optmizar al máximo sus capacidades, teniendo en cuenta que contamos con recursos muy limitados, tales como baterías, miniprocesadores, memorias de empotradas, etc. 5