1.- dam - conceptos generales de android

36
Conceptos generales de ANDROID Ing. Edgar Lizárraga Ugarte

Upload: luis-angel-quispe

Post on 08-Nov-2015

221 views

Category:

Documents


2 download

DESCRIPTION

asd

TRANSCRIPT

  • Conceptos generales de ANDROID

    Ing. Edgar Lizrraga Ugarte

  • Qu es Android?

    En los ltimos aos los telfonos mviles hanexperimentado una gran evolucin, desde losprimeros terminales, grandes y pesados,primeros terminales, grandes y pesados,pensados slo para hablar por telfono encualquier parte, a los ltimos modelos, con losque el trmino medio de comunicacin sequeda bastante pequeo.

  • Qu es Android? Android es un sistema operativo basado en Linux,

    diseado principalmente para dispositivos mvilescon pantalla tctil como telfonos inteligenteso tabletas inicialmente desarrollados por Android,Inc., que Google respald econmicamente y mstarde compr en 2005, Android fue presentadotarde compr en 2005, Android fue presentadoen 2007 junto la fundacin del Open HandsetAlliance: un consorcio de compaasde hardware, software y telecomunicaciones paraavanzar en los estndares abiertos de los dispositivosmviles. El primer mvil con el sistema operativoAndroid fue el HTC Dream y se vendi en octubre de2008.

  • Un poco de historia

    Fue desarrollado inicialmente por Android Inc.,una firma comprada por Google en 2005.

    Es el principal producto de la Open Handset Es el principal producto de la Open HandsetAlliance, un conglomerado de fabricantes ydesarrolladores de hardware, software yoperadores de servicio.

  • Versiones en Android

    Las versiones de Android reciben el nombre depostres en ingls. En cada versin el postreelegido empieza por una letra distinta siguiendoelegido empieza por una letra distinta siguiendoun orden alfabtico: A: Apple Pie (v1.0), Tarta de manzana B: Banana Bread (v1.1), Pan de pltano C: Cupcake (v1.5), Panque. D: Donut (v1.6), Rosquilla.

  • Versiones en Android

    E: clair (v2.0/v2.1), Pastel francs. F: Froyo (v2.2), (Abreviatura de frozen

    yogurt) Yogur helado.yogurt) Yogur helado. G: Gingerbread (v2.3), Pan de jengibre. H: Honeycomb (v3.0/v3.1/v3.2), Panal de miel. I: Ice Cream Sandwich (v4.0), Sndwich de helado.

    J: Jelly Bean (v4.1/v4.2/v4.3), Gominola.

  • Cuotas de las versiones

  • Cuotas de las versiones

  • Usos y dispositivos

    El sistema operativo Android se usa en telfonosinteligentes, ordenadores porttiles, netbooks,tabletas, Google TV, relojes de pulsera,tabletas, Google TV, relojes de pulsera,auriculares y otros dispositivos.

    La plataforma de hardware principal de Androides la arquitectura ARM. Hay soportepara x86 en el proyecto Android-x86,y GoogleTV utiliza una versin especial de Android x86.

  • Usos y dispositivos

    El primer telfono disponible en el mercadopara ejecutar Android fue el HTC Dream, dado aconocer al pblico el 22 de octubre de 2008.conocer al pblico el 22 de octubre de 2008.

  • Aplicaciones

    Las aplicaciones se desarrollan habitualmenteen el lenguaje Java con Android SoftwareDevelopment Kit (Android SDK).

    El desarrollo de aplicaciones para Android no El desarrollo de aplicaciones para Android norequiere aprender lenguajes complejos deprogramacin. Todo lo que se necesita es unconocimiento aceptable de Java y estar enposesin del kit de desarrollo de software oSDK provisto por Google el cual se puededescargar gratuitamente.

  • Aplicaciones

    Todas las aplicaciones estn comprimidas enformato APK, que se pueden instalar sin dificultaddesde cualquier explorador de archivos en lamayora de dispositivos.

    Google Play: es la tienda en lnea de softwaredesarrollado por Google para dispositivos Android.Una aplicacin llamada "Play Store" que se encuentrainstalada en la mayora de los dispositivos Android ypermite a los usuarios navegar y descargaraplicaciones publicadas por los desarrolladores. Estaaplicacin remplaz a "Market".

  • Arquitectura de ANDROID

  • Arquitectura de Android

  • Arquitectura de Android

    Para empezar con el desarrollo de aplicaciones enAndroid es importante conocer cmo estestructurado este sistema operativo. A esto lellamamos arquitectura y en el caso de Android estformada por varias capas que facilitan alformada por varias capas que facilitan aldesarrollador la creacin de aplicaciones. Adems,esta distribucin permite acceder a las capas msbajas mediante el uso de libreras para que as eldesarrollador no tenga que programar a bajo nivellas funcionalidades necesarias para que unaaplicacin haga uso de los componentes dehardware de los telfonos.

  • Arquitectura de Android

    Para empezar con el desarrollo de aplicaciones enAndroid. es importante conocer cmo estestructurado este sistema operativo A esto lellamamos arquitectura y en el caso de Android estformada por varias capas que facilitan alformada por varias capas que facilitan aldesarrollador la creacin de aplicaciones. Adems,esta distribucin permite acceder a las capasms bajas mediante el uso de libreras paraque as el desarrollador no tenga que programar abajo nivel las funcionalidades necesarias para queuna aplicacin haga uso de los componentes dehardware de los telfonos.

  • Arquitectura de Android

  • Arquitectura de Android

    Explicamos ahora cada una de las capasiniciando de abajo hacia arriba. Kernel de Linux: El ncleo del sistema operativo Android est basado

    en el kernel de Linux versin 2.6.en el kernel de Linux versin 2.6. El ncleo acta como una capa de abstraccin entre

    el hardware y el resto de las capas de la arquitectura.El desarrollador no accede directamente a esta capa,sino que debe utilizar las libreras disponibles encapas superiores.

  • Arquitectura de Android

    Kernel de Linux: Para cada elemento de hardware del telfono existe

    un controlador (o driver) dentro del kernel quepermite utilizarlo desde el software.

    El kernel tambin se encarga de gestionar losdiferentes recursos del telfono (energa, memoria,etc.) y del sistema operativo en s: procesos,elementos de comunicacin (networking), etc.

  • Arquitectura de Android

    Libreras: La siguiente capa que se sita justo sobre el kernel la

    componen las bibliotecas nativas de Android,tambin llamadas libreras. Estn escritas en C oC++ y compiladas para la arquitectura hardwareC++ y compiladas para la arquitectura hardwareespecfica del telfono. Estas normalmente estnhechas por el fabricante, quien tambin se encargade instalarlas en el dispositivo antes de ponerlo a laventa.

  • Arquitectura de Android

    Libreras: Librera Surface Manager: Es la encargada de componer

    los diferentes elementos de navegacin de pantalla.Gestiona tambin las ventanas pertenecientes a lasdistintas aplicaciones activas en cada momento.

    OpenGL/SL y SGL: Representan las libreras grficas y,por tanto, sustentan la capacidad grfica de Android.por tanto, sustentan la capacidad grfica de Android.OpenGL/SL maneja grficos en 3D y permite utilizar, encaso de que est disponible en el propio dispositivomvil, el hardware encargado de proporcionar grficos3D. Por otro lado, SGL proporciona grficos en 2D, por loque ser la librera ms habitualmente utilizada por lamayora de las aplicaciones. Una caractersticaimportante de la capacidad grfica de Android es que esposible desarrollar aplicaciones que combinen grficosen 3D y 2D.

  • Arquitectura de Android

    Libreras: Librera Media Libraries: Proporciona todos los cdecs

    necesarios para el contenido multimedia soportado enAndroid (vdeo, audio, imgenes estticas y animadas,etc.).

    FreeType: Permite trabajar de forma rpida y sencillacon distintos tipos de fuentes.con distintos tipos de fuentes.

    Librera SSL: Posibilita la utilizacin de dicho protocolopara establecer comunicaciones seguras.

    Librera SQLite: Creacin y gestin de bases de datosrelacionales.

    Librera WebKit: Proporciona un motor para lasaplicaciones de tipo navegador y forma el ncleo delactual navegador incluido por defecto en la plataformaAndroid.

  • Arquitectura de Android

    Android Runtime: El componente principal del entorno de ejecucin de

    Android es la mquina virtual Dalvik.

    Las aplicaciones se codifican en Java y son Las aplicaciones se codifican en Java y soncompiladas en un formato especfico para que estamquina virtual las ejecute.

    Cabe aclarar que Dalvik es una variacin de lamquina virtual de Java, por lo que no escompatible con el bytecode Java.

  • Arquitectura de Android

    Android Runtime: Java se usa nicamente como lenguaje de programacin,

    y los ejecutables que se generan con el SDK de Androidtienen la extensin .dex que es especfico para Dalvik, ypor ello no podemos correr aplicaciones Java en Androidni viceversa.ni viceversa.

    En la plataforma Android, el cdigo fuente de Javatambin se compila en archivos .class. Pero despus degenerar los archivos .class, mediante laherramienta dx son convertidos a un nico archivo dex(Dalvik Executable). Mientras que un archivo .classcontiene una sola clase, un archivo .dex contienemltiples clases. Es el archivo .dex el que se ejecuta en lamquina virtual Dalvik.

  • Arquitectura de Android

  • Arquitectura de Android

    Android Runtime:

    .java .class .dex .apk

  • Arquitectura de Android

    Android Runtime:

    De forma nativa las aplicaciones deAndroid (por lo general) estn programadosen Java, un lenguajeen Java, un lenguajede programacin multiplataforma que nosproporciona una extensin .JAR, que no es ms queuna especie de contenedor con el cdigo fuente dela aplicacin como tal, y precisamenteun archivo con extensin .APK es eso, unavariante de los .JAR.

  • Arquitectura de Android Android Runtime:

    Como podemos ver en la imagen, un archivo .APK est compuesto bsicamente por los siguientes ficheros: AndroidManifest.xml classes.dex resources.arsc res (carpeta) META-INF (carpeta)

  • Arquitectura de Android

  • Arquitectura de Android

    Framework de aplicaciones: La siguientecapa est formada por todas las clases y serviciosque utilizan directamente las aplicaciones pararealizar sus funciones. La mayora de loscomponentes de esta capa son libreras Java quecomponentes de esta capa son libreras Java queacceden a los recursos de las capas anteriores atravs de la mquina virtual Dalvik.

  • Arquitectura de Android

    Framework de aplicaciones: Activity Manager: Se encarga de administrar la pila

    de actividades de nuestra aplicacin as como suciclo de vida.

    Windows Manager: Se encarga de organizar lo que Windows Manager: Se encarga de organizar lo quese mostrar en pantalla. Bsicamente crea lassuperficies en la pantalla que posteriormentepasarn a ser ocupadas por las actividades.

    Content Provider: Esta librera es muy interesanteporque crea una capa que encapsula los datos que secompartirn entre aplicaciones para tener controlsobre cmo se accede a la informacin.

  • Arquitectura de Android

    Framework de aplicaciones: Views: En Android, las vistas los elementos que nos

    ayudarn a construir las interfaces de usuario:botones, cuadros de texto, listas y hasta elementosms avanzados como un navegador web o un visorms avanzados como un navegador web o un visorde Google Maps.

    Notification Manager: Engloba los servicios paranotificar al usuario cuando algo requiera su atencinmostrando alertas en la barra de estado. Un datoimportante es que esta biblioteca tambin permitejugar con sonidos, activar el vibrador o utilizar losLEDs del telfono en caso de tenerlos.

  • Arquitectura de Android

    Framework de aplicaciones: Package Manager: Esta biblioteca permite obtener

    informacin sobre los paquetes instalados en eldispositivo Android, adems de gestionar lainstalacin de nuevos paquetes. Con paquete nosinstalacin de nuevos paquetes. Con paquete nosreferimos a la forma en que se distribuyen lasaplicaciones Android, estos contienen el archivo.apk, que a su vez incluyen los archivos .dex contodos los recursos y archivos adicionales quenecesite la aplicacin, para facilitar su descarga einstalacin.

  • Arquitectura de Android

    Framework de aplicaciones: Telephony Manager: Con esta librera

    podremos realizar llamadas o enviar y recibirSMS/MMS, aunque no permite reemplazar oeliminar la actividad que se muestra cuando unaeliminar la actividad que se muestra cuando unallamada est en curso.

    Resource Manager: Con esta librera podremosgestionar todos los elementos que forman parte dela aplicacin y que estn fuera del cdigo, esdecir, cadenas de texto traducidas a diferentesidiomas, imgenes, sonidos o layouts.

  • Arquitectura de Android

    Framework de aplicaciones: Location Manager: Permite determinar la posicin

    geogrfica del dispositivo Android mediante GPS oredes disponibles y trabajar con mapas.

    Sensor Manager: Nos permite manipular los Sensor Manager: Nos permite manipular loselementos de hardware del telfono como elacelermetro, giroscopio, sensor de luminosidad,sensor de campo magntico, brjula, sensor depresin, sensor de proximidad, sensor detemperatura, etc.

  • Arquitectura de Android

    Framework de aplicaciones: Cmara: Con esta librera podemos hacer uso de

    la(s) cmara(s) del dispositivo para tomarfotografas o para grabar vdeo.

    Multimedia: Permiten reproducir y visualizar audio,vdeo e imgenes en el dispositivo.