Android

20

Click here to load reader

Transcript of Android

Page 1: Android

Programación de

dispositivos móviles5.4. Ambientes de las aplicaciones

5.5. Protocolo de Interfaz entre aplicaciones

Page 2: Android

Integrantes

Evelin Shayde Hernandez Vera

Agreguen sus nombres por favor:

Page 3: Android

Ambientes de las aplicaciones

En los últimos años los dispositivos móviles se han establecido como una parte importante del

acceso a la información y aplicaciones. Estos dispositivos han dejado de ser simples agendas

electrónicas o teléfonos celulares para convertirse en pequeñas computadoras con

capacidad de ejecutar aplicaciones, juegos con gráficos 3D e incluso con capacidades de

acceder a Internet a través de diferentes tecnologías de red inalámbrica de alta velocidad

tales como 3G o WiFi.

Page 4: Android

El ambiente de desarrollo

Las aplicaciones móviles se pueden adecuar al tamaño de la pantalla y a las características

de las interfaces de usuario de los dispositivos móviles que estos despliegan o soportan. Pero

esto quizá no sea la mejor opción, si significa que se requerirán diversas versiones de las

aplicaciones para cada ecosistema móvil (BlackBerry, Apple iOS, Android, Symbian, Windows

Mobile, 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 que

funcione en múltiples plataformas. La alternativa es desarrollar una aplicación basada en web

y usar el navegador móvil. Las tabletas han introducido el potencial para la integración del

escritorio virtual, usando herramientas de fabricantes como Citrix y VMware; ambas empresas

tienen clientes móviles.

Page 5: Android

Sistemas operativos para dispositivos

móviles

Page 6: Android

Symbian

Symbian: corre exclusivamente en procesadores ARM S.O basado en ROM para ahorrar

energía, consta de un micro kernel. En Symbian cada aplicación corre en sus propios

procesos y tiene acceso solo a su propio espacio de memoria, esto hace que las

aplicaciones sean orientadas a “single threads” y no a “multi threads”.

Posee componentes que permiten el diseño de aplicaciones multiplataforma (diferentes

tamaños de pantalla, color, resolución, teclados, etc.). La mayoría diseñados en C++. Existen

múltiples SDK (Software Development Kit) para el desarrollo de aplicaciones, siendo los

principales UIQ y S60.

Muchos de los dispositivos con Symbian OS además de C++ pueden ser programados en

OPL, 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 o

técnicas desarrolladas por la comunidad para programar en Linux o MacOS.

Page 7: Android

Symbian OS 6.0 Primera versión de Symbian destinada a teléfonos móviles,

añadió soporte para Bluetooth.

Symbian

OS 9.5 Symbian^3

Se considera la nueva generación del sistema operativo Symbian.

Usada en los smartphones de nueva generación de Nokia, como

el N8, C7, C6-01, y E7.

Entre sus nuevas características destacadas están:

Soporte para gráficos acelerados con la aceleración de

hardware 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 de

gráficos y muchas mejoras generales en estabilidad, entre

ellas la consistencia.

Symbian

OS 9.5 Symbian

Anna

Actualizació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 la

pantalla de inicio.

El sistema venía instalado de fábrica en una versión casi final en

los Nokia X7 y E6.

Symbian

OS 10.1 Nokia

Belle

Nokia cambió la nomenclatura hacia el público de Symbian

Belle a Nokia Belle, sin embargo internamente y de cara a los

desarrolladores el sistema operativo todavía se denomina en

realidad Symbian. Esta versión viene instalada por defecto en

los nuevos Nokia 603, 700 y 701, y también estaría disponibles

para los teléfonos que funcionan con Symbian^3 y Symbian

Anna.

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 de

memoria 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ás

espacio para las aplicaciones.

Esta versión fue lanzada para todos los terminales compatibles el

7 de febrero de 2012 menos el Nokia 500 que tuvo un retraso por

Page 8: Android

Arquitectura de Mac

CORE OS: Los pilares de

este sistema operativo de

iPhone residen aquí

MEDIA: Capa de gestión multimedia (gráficos,

audio, videos, etc.

Cocoa Touch:El framework de desarrollo

para iPhone/iPod

Touch

CORE SERVICES: Son

los servicios básicos del

sistema

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 multi

touch• 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

Page 9: Android

Herramientas que forman parte del entorno

de desarrollo de la plataforma

Xcode: Xcode es la pieza esencial del entorno. También es una aplicación que se encarga de la mayoría de los detalles del proyecto desde el inicio hasta el despliegue

Instruments: Instruments sirve para monitorear la aplicación en desarrollo y sintonizar finamente su performance en un entorno gráfico. Basado en DTrace, una herramienta Open Source desarrollada por Sun Microsystems. Es esencial a la hora de identificar pérdidas de memoria y otros bugs difíciles de rastrear.

Dashcode: Dashcode fue diseñada para desarrollar widgets para el Dashboard de Mac OS X. incluida para facilitar el desarrollo de aplicaciones Web para el iPhone.

Simulator: el simulador de iPhone permite probar las funcionalidades básicas de la aplicación en desarrollo.

Interface Builder: Su uso elemental es el desarrollo de la Interface Humana (GUI). IB es donde los diferentes módulos se conectan, y es también donde se le da vida a muchos de los

módulos pre compilados que se verán en la pantalla.

Page 10: Android

RIM (Research in motion)

BlackBerry RIM SDK (BlackBerry Research In Motion Software

Development Kit)

Es el entorno para construir aplicaciones para los dispositivos inalámbricos BlackBerry. El

lenguaje de programación utilizado es J2ME, esta es la plataforma de java para dispositivos

móviles. El uso de los dispositivos Blackberries el SDK está orientado fuertemente al desarrollo de

negocio.

RIM provee algunas librerías muy útiles como: net.rim.device.api que provee acceso a

funcionalidades específicas para el hardware RIM. Dentro de este paquete hay clases para

monitorear 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 red

Mobitex (red usada por los dispositivos BlackBerry).

El SDK también incluye un IDE que soporta debugging y el emulador necesario para esto.

Page 11: Android

Desarrollando para RIM

RIM provee un sistema operativo propietario, multitarea para los dispositivos BlackBerrys que

hace 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 debe

estar firmado digitalmente con un certificado asociado a una cuenta de desarrollador en

RIM, este proceso garantiza la procedencia de las aplicaciones, no así la calidad del

código.

Page 12: Android

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ódigo

administrado 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.

Page 13: Android

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 Pocket

PC (WinCE 4.2)

Microsoft Windows Mobile 2003 Second

Edition (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

Page 14: Android

Android Es una plataforma de software basada en Linux para dispositivos móviles que incluye un sistema

operativo, middleware y aplicaciones clave. Esta plataforma está siendo desarrollada por Google y el

Open 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 de

visualizació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

Page 15: Android

Desarrollando para Android, Anatomía de una aplicación

Android

Activity

•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 eventos

Intent y IntentFilter

Un "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 UI

Content 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 en

Java. Las "Android core libraries" proveen las funcionalidades necesarias para construir impresionantes y

poderosas aplicaciones para dispositivos móviles.

El "Android SDK" soporta Windows XP, Windows Vista, Windows 7, Linux y Mac OS y utiliza como IDE de

desarrollo a Eclipse mediante el plug in "Android Development Tools (ADT)” aunque es posible utilizar

Apache Ant para entornos Mac o Linux

Page 16: Android

Protocolo de Interfaz entre aplicaciones

Interfaz de programación de aplicaciones

Es el conjunto de funciones y procedimientos (o métodos, en la programación orientada a

objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de

abstracción.

Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funciones

de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma, los

programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad,

evitándose el trabajo de programar todo desde el principio.

Page 17: Android

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.

Page 18: Android

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.

Page 19: Android

En programación orientada a objetos lenguajes, una API por lo

general incluye una descripción de un conjunto de clase las

definiciones, con un conjunto de comportamientos asociados

con esas clases. Un comportamiento es el conjunto de reglas

sobre cómo un objeto, derivado de esa clase, actuará en una

circunstancia

Page 20: Android

Fuentes de Consulta

Belatrix Software Factory BSF S.A. 2008. Documento de Investigación y

Análisis de las Características de los Dispositivos Móviles Inteligentes (Smart

Phones). 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