Android

445 views
357 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
445
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Android

  1. 1. Programación dedispositivos móviles5.4. Ambientes de las aplicaciones5.5. Protocolo de Interfaz entre aplicaciones
  2. 2. Integrantes Evelin Shayde Hernandez Vera Agreguen sus nombres por favor:
  3. 3. Ambientes de las aplicaciones En los últimos años los dispositivos móviles se han establecido como una parte importante delacceso a la información y aplicaciones. Estos dispositivos han dejado de ser simples agendaselectrónicas o teléfonos celulares para convertirse en pequeñas computadoras concapacidad de ejecutar aplicaciones, juegos con gráficos 3D e incluso con capacidades deacceder a Internet a través de diferentes tecnologías de red inalámbrica de alta velocidadtales como 3G o WiFi.
  4. 4. El ambiente de desarrollo Las aplicaciones móviles se pueden adecuar al tamaño de la pantalla y a las característicasde las interfaces de usuario de los dispositivos móviles que estos despliegan o soportan. Peroesto quizá no sea la mejor opción, si significa que se requerirán diversas versiones de lasaplicaciones para cada ecosistema móvil (BlackBerry, Apple iOS, Android, Symbian, WindowsMobile, Windows Phone 7, Web OS, etc.). Las plataformas para aplicaciones móviles empresariales (MEAP, por sus siglas en inglés)pueden aligerar la dificultad del desarrollo, permitiendo desarrollar una aplicación quefuncione en múltiples plataformas. La alternativa es desarrollar una aplicación basada en weby usar el navegador móvil. Las tabletas han introducido el potencial para la integración delescritorio virtual, usando herramientas de fabricantes como Citrix y VMware; ambas empresastienen clientes móviles.
  5. 5. Sistemas operativos para dispositivosmóviles
  6. 6. Symbian Symbian: corre exclusivamente en procesadores ARM S.O basado en ROM para ahorrarenergía, consta de un micro kernel. En Symbian cada aplicación corre en sus propiosprocesos y tiene acceso solo a su propio espacio de memoria, esto hace que lasaplicaciones sean orientadas a “single threads” y no a “multi threads”. Posee componentes que permiten el diseño de aplicaciones multiplataforma (diferentestamaños de pantalla, color, resolución, teclados, etc.). La mayoría diseñados en C++. Existenmúltiples SDK (Software Development Kit) para el desarrollo de aplicaciones, siendo losprincipales UIQ y S60. Muchos de los dispositivos con Symbian OS además de C++ pueden ser programados enOPL, Python, Visual Basic, Simkin y Perl, así como en Java ME. También existe una versión del IDE de Borland para Symbian, así como herramientas otécnicas desarrolladas por la comunidad para programar en Linux o MacOS.
  7. 7. Symbian OS 6.0Primera versión de Symbian destinada a teléfonos móviles,añadió soporte para Bluetooth.SymbianOS 9.5 Symbian^3Se considera la nueva generación del sistema operativo Symbian.Usada en los smartphones de nueva generación de Nokia, comoel N8, C7, C6-01, y E7.Entre sus nuevas características destacadas están:Soporte para gráficos acelerados con la aceleración dehardware en 2D y 3D.Soporte para HDMI.Entrada USB (USB On The Go).Hasta 3 pantallas de inicio personalizables con widgets.Mejoras estéticas notables gracias a la aceleración degráficos y muchas mejoras generales en estabilidad, entreellas la consistencia.SymbianOS 9.5 SymbianAnnaActualización de Symbian^3 con:Nuevos iconos.Soporte básico para NFC.Una nueva versión del navegador.Mejoras en el rendimiento general, de la batería y en lapantalla de inicio.El sistema venía instalado de fábrica en una versión casi final enlos Nokia X7 y E6.SymbianOS 10.1 NokiaBelleNokia cambió la nomenclatura hacia el público de SymbianBelle a Nokia Belle, sin embargo internamente y de cara a losdesarrolladores el sistema operativo todavía se denomina enrealidad Symbian. Esta versión viene instalada por defecto enlos nuevos Nokia 603, 700 y 701, y también estaría disponiblespara los teléfonos que funcionan con Symbian^3 y SymbianAnna.Nokia Belle es una actualización mayor de Symbian OS: 10.1.Entre sus mejoras están:Mejoras en la estabilidad y el consumo y la gestión dememoria RAM del sistema operativo.Nueva interfaz gráfica de usuario con un nuevo menú,widgets totalmente nuevos y de diferentes tamaños.Nueva barra de navegación.Menú de notificaciones deslizable.Nueva barra de notificaciones entre otras que deja másespacio para las aplicaciones.Esta versión fue lanzada para todos los terminales compatibles el7 de febrero de 2012 menos el Nokia 500 que tuvo un retraso por
  8. 8. Arquitecturade MacCORE OS: Lospilares deeste sistemaoperativo deiPhoneresiden aquíMEDIA: Capade gestiónmultimedia(gráficos,audio, videos,etc.Cocoa Touch:El frameworkde desarrolloparaiPhone/iPodTouchCORESERVICES: Sonlos serviciosbásicos delsistema kernel de OSX, sistema de bibliotecas la pila TCP / IP sockets seguridad gestión de energía keychain certificados sistemas de archivos Bonjour• colecciones• agenda de direcciones• redes• acceso a archivos• sqlite (base de datos)• core location• net services• threading• preferencias• utilidades de URL• Core Audio• openAL,• mezclador de sonido,• grabación de audio• reproducción de video• manejo de jpg, png, tiff, PDF• quartz (2d)• Core Animation• OpenGL ES• eventos y controles multitouch• soporte del acelerómetro• vista jerárquica• localización de aplicaciones• alertas• vista web• selector de contactos• selector de imágenes• soporte de la cámara
  9. 9. Herramientas que forman parte del entornode desarrollo de la plataformaXcode: Xcode es la pieza esencial del entorno. También es unaaplicación que se encarga de la mayoría de los detalles del proyectodesde el inicio hasta el despliegueInstruments: Instruments sirve para monitorear la aplicación en desarrollo y sintonizarfinamente su performance en un entorno gráfico. Basado en DTrace, una herramientaOpen Source desarrollada por Sun Microsystems. Es esencial a la hora de identificarpérdidas de memoria y otros bugs difíciles de rastrear.Dashcode: Dashcode fue diseñada para desarrollar widgets para el Dashboard deMac OS X. incluida para facilitar el desarrollo de aplicaciones Web para el iPhone.Simulator: el simulador de iPhone permite probar lasfuncionalidades básicas de la aplicación en desarrollo.Interface Builder: Su uso elemental es el desarrollo de laInterface Humana (GUI). IB es donde los diferentes módulos seconectan, y es también donde se le da vida a muchos de losmódulos pre compilados que se verán en la pantalla.
  10. 10. RIM (Research in motion)BlackBerry RIM SDK (BlackBerry Research In Motion SoftwareDevelopment Kit) Es el entorno para construir aplicaciones para los dispositivos inalámbricos BlackBerry. Ellenguaje de programación utilizado es J2ME, esta es la plataforma de java para dispositivosmóviles. El uso de los dispositivos Blackberries el SDK está orientado fuertemente al desarrollo denegocio. RIM provee algunas librerías muy útiles como: net.rim.device.api que provee acceso afuncionalidades específicas para el hardware RIM. Dentro de este paquete hay clases paramonitorear los puertos COM, la radio, el teclado etc. EL paquete net.rim.device.api.util incluye construcciones muy útiles como vectores ordenados,vectores clonables, buffers de datos y otros. La librería net.rim.device.api.system.mobitex es usada para obtener información de la redMobitex (red usada por los dispositivos BlackBerry).El SDK también incluye un IDE que soporta debugging y el emulador necesario para esto.
  11. 11. Desarrollando para RIM RIM provee un sistema operativo propietario, multitarea para los dispositivos BlackBerrys quehace uso intensivo de los dispositivos de entrada como el teclado y el trackball Cualquier desarrollador puede escribir software usando las APIs propietarias de BlackBerry,pero para que una aplicación pueda acceder a ciertas funcionalidades restringidas debeestar firmado digitalmente con un certificado asociado a una cuenta de desarrollador enRIM, este proceso garantiza la procedencia de las aplicaciones, no así la calidad delcódigo.
  12. 12. Windows Mobile Windows Mobile es el sistema operativo de Microsoft destinado a dispositivos móviles.“Windows Mobile 6 Professional and Standard Software Development Kits Refresh” SDK para el desarrollode aplicaciones en la plataforma Windows Mobile Una vez descargado e instalado el SDK tendremostodo lo necesario para realizar aplicaciones para WM6 incluyendo emuladores (imágenes ROM) para losdistintos tamaños de pantalla de los dispositivos en mercado. Se pueden desarrollar dos tipos de aplicaciones para Windows Mobile: con código nativo o con códigoadministrado (managed code). Llamamos código nativo al código C++ que utiliza directamente la API de Windows Mobile, y códigoadministrado al que utiliza las clases del .NET Compact Framework con C# o .NET. (Windows Mobilees la única plataforma móvil importante que no soporta J2ME). ¿Las diferencias entre ambas? El código nativo es más rápido y ocupa menos recursos, además deproporcionar acceso a algunas características del hardware que son inaccesibles desde el CompactFramework. Sin embargo, en la mayor parte de los casos desarrollar código administrado es la mejoropción. El tamaño del ejecutable es cada vez menos importante, y si la velocidad es un factor críticosiempre se puede optar por programar en código nativo las partes de la aplicación que supongan uncuello de botella. Por lo demás, el desarrollo en .NET resulta mucho más fácil y cómodo.
  13. 13. Versiones de Windows Mobile Microsoft Windows CE 1.0 Microsoft Windows CE 2.0 Microsoft Windows CE 2.01 Microsoft Windows CE 2.02 Microsoft Windows CE 2.1 Microsoft Windows CE 2.11 Microsoft Windows CE 2.12 Microsoft Windows CE 2.11 H/PC PRO Microsoft Windows CE 3.0 H/PC 2000 Microsoft Pocket PC 2000 (WinCE 3.0) Microsoft Pocket PC 2002 (WinCE 3.1) Microsoft Windows Mobile 2003 para PocketPC (WinCE 4.2) Microsoft Windows Mobile 2003 SecondEdition (WinCE 4.21) Microsoft Windows Mobile 2005 (WinCE 5.0) Microsoft Windows Mobile 5 Microsoft Windows Mobile 6 Microsoft Windows Mobile 6.1 Microsoft Windows Mobile 6.5 Microsoft Windows Phone 6.5 Microsoft Windows Phone 7 Microsoft Windows Phone 8
  14. 14. Android Es una plataforma de software basada en Linux para dispositivos móviles que incluye un sistemaoperativo, middleware y aplicaciones clave. Esta plataforma está siendo desarrollada por Google y elOpen Handset Alliance. Permite a los desarrolladores escribir código en Java usando librerías desoftware desarrolladas por Google, pero no soporta programas en código nativo. Android proporciona un paquete completo de software a todos los niveles:o Un kernel Linux que sirve como base de la pila de software y se encarga de las funciones más básicasdel sistema: gestión de drivers, seguridad, comunicaciones, etc.o Una capa de librerías de bajo nivel en C y C++.o Un framework para el desarrollo de aplicaciones, dividido en subsistemas para gestión del sistemacomo el "package manager"; gestión del hardware del teléfono anfitrión ("telephony manager") oacceso a APIs sofisticadas de geo localización o mensajería XMPP. También incluye un sistema devistas para manejar el interfaz de usuario de las aplicaciones, que incluyen posibilidad devisualización de mapas o renderizado HTML directamente en el interfaz gráfico de la aplicación.o Una suite de aplicaciones (navegador, agenda, gestión del teléfono). Las aplicaciones Android están programadas en Java, pero no corriendo sobre Java ME, sino sobreDalvik, una máquina virtual Java
  15. 15. Desarrollando para Android, Anatomía de una aplicaciónAndroidActivity•es una pantallaindividual en tuaplicación. Cada"actividad" seimplementa comouna clase que heredade "Activity", lo quehará que la clasedespliegue una UIcompuesta de "Views”y responda a eventosIntent y IntentFilterUn "Intent" describe loque una aplicacióndesea hacer. Las dospartes más importantesde la estructura de datosde un "Intent" son laacción y los datos sobrelos cuales se actuará"IntentFilter" es unadescripción de lo queintenta hacer una"Activity"IntentReceiver-Se puede utilizar un"IntentReceiver" cuandoqueramos programaruna aplicación paraque se ejecute comorespuesta a un evento.-no despliegan UI-son registrados en elarchivo"AndroidManifest.xml"Service:• es una aplicaciónque se mantieneactivada por unlargo tiempo y nodespliega una UIContent Provider•Las aplicacionespueden almacenarsus datos en archivos,una base de datos"SQLite" o cualquierotro mecanismo. Sinembargo, un "ContentProvider" es de utilidadcuando los datos detu aplicación debenser compartidos conotras aplicaciones.Se puede desarrollar una aplicación Android con las mismas herramientas utilizadas para desarrollar enJava. Las "Android core libraries" proveen las funcionalidades necesarias para construir impresionantes ypoderosas aplicaciones para dispositivos móviles.El "Android SDK" soporta Windows XP, Windows Vista, Windows 7, Linux y Mac OS y utiliza como IDE dedesarrollo a Eclipse mediante el plug in "Android Development Tools (ADT)” aunque es posible utilizarApache Ant para entornos Mac o Linux
  16. 16. Protocolo de Interfaz entre aplicacionesInterfaz de programación de aplicaciones Es el conjunto de funciones y procedimientos (o métodos, en la programación orientada aobjetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa deabstracción. Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funcionesde uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma, losprogramadores se benefician de las ventajas de la API haciendo uso de su funcionalidad,evitándose el trabajo de programar todo desde el principio.
  17. 17. EJEMPLOHaciendo todo el trabajo desde el principio: Traza, sobre papel milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n, d, o". Crea una matriz de cuadrados negros y blancos que se asemeje a la sucesión de letras. Mediante instrucciones en ensamblador, escribe la información de la matriz en la memoriaintermedia ("buffer") de pantalla. Mediante la instrucción adecuada, haz que la tarjeta gráfica realice el volcado de esa informaciónsobre la pantalla. Por medio de un Sistema operativo para hacer parte del trabajo: Carga una fuente tipográfica proporcionada por el sistema operativo. Haz que el sistema operativo borre la pantalla. Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente cargada. Usando una aplicación (que a su vez usa el sistema operativo) para realizar la mayor partedel trabajo: Escribe un documento HTML con las palabras "Hola Mundo" para que un navegador WEB comoFirefox, Chrome, Opera, Safari, Midori, Ice weasel, Web o Internet Explorer pueda representarlo en elmonitor.
  18. 18.  La plataforma Android ofrece una API de marco en el que las aplicaciones pueden utilizarpara interactuar con el sistema Android subyacente. La API de marco consiste en: Un conjunto básico de paquetes y clases Un conjunto de elementos y atributos XML para la declaración de un archivo de manifiesto Un conjunto de elementos y atributos XML para la declaración y el acceso a los recursos Un conjunto de Intenciones Un conjunto de permisos que pueden solicitar aplicaciones, así como refuerzos de permisoincluido en el sistema Cada versión sucesiva de la plataforma Android pueden incluir actualizaciones de laaplicación de Android API de marco de trabajo que se ofrece.
  19. 19. En programación orientada a objetos lenguajes, una API por logeneral incluye una descripción de un conjunto de clase lasdefiniciones, con un conjunto de comportamientos asociadoscon esas clases. Un comportamiento es el conjunto de reglassobre cómo un objeto, derivado de esa clase, actuará en unacircunstancia
  20. 20. Fuentes de Consulta Belatrix Software Factory BSF S.A. 2008. Documento de Investigación yAnálisis de las Características de los Dispositivos Móviles Inteligentes (SmartPhones). Mayo, 18, 2013.http://www.belatrixsf.com/index.php/spdesarrollosmoviles. Barrera, Embi y otros. Versiones de Symbian. Mayo, 18, 2013. http://smart-essential.jimdo.com/symbian/versiones-de-symbian/ Anónimo. 2013. Mac OS X. Mayo, 18, 2013.https://es.wikipedia.org/wiki/Mac_OS_X http://en.wikipedia.org/wiki/BlackBerry_OS_version_history http://es.wikipedia.org/wiki/Android

×