58
1 UNIDAD I Introducción a los dispositivos móviles 1.1 Introducción a los dispositivos móviles y a su programación. 1.2 Tipos de dispositivos móviles 1.3 Desarrollo de aplicaciones para dispositivos móviles 1.3.1 Nociones básicas 1.3.2 Máquina virtual 1.3.3 Configuración y perfiles 1.3.4 Localización de la aplicación en el dispositivo 1.1 Introducción a los dispositivos móviles y a su programación Evolución de la computación: sus tres eras

Desarrollo Aplic Mov

Embed Size (px)

Citation preview

Page 1: Desarrollo Aplic Mov

1

UNIDAD I Introducción a los dispositivos móviles 1.1 Introducción a los dispositivos móviles y a su programación. 1.2 Tipos de dispositivos móviles 1.3 Desarrollo de aplicaciones para dispositivos móviles 1.3.1 Nociones básicas 1.3.2 Máquina virtual 1.3.3 Configuración y perfiles 1.3.4 Localización de la aplicación en el dispositivo 1.1 Introducción a los dispositivos móviles y a su programación

Evolución de la computación: sus tres eras

Page 2: Desarrollo Aplic Mov

2

Computo pervasivo y computo ubicuo

En la figura, el eje horizontal muestra el grado de movilidad de los sistemas

creciendo hacia la derecha mientras que el vertical ilustra el grado en el que los

sistemas se encuentran embebidos o incrustados. Los sistemas convencionales

de escritorio se encuentran en el lugar en donde los ejes muestran su menor

dimensión. Hacia la derecha, se ilustran los equipos de alta movilidad como los

teléfonos celulares y hacia arriba los sistemas embebidos. El cómputo ubicuo

reúne las características de los dos ejes maximizando su movilidad y su

integración al entorno.

Definición de dispositivo móvil Los dispositivos móviles (también conocidos como computadora de mano, palmtop o simplemente handheld) son aparatos de pequeño tamaño, con algunas capacidades de procesamiento, con conexión permanente o intermitente a una red, con memoria limitada, diseñados específicamente para una función, pero que pueden llevar a cabo otras funciones más generales.

Page 3: Desarrollo Aplic Mov

3

Hoy en día se pueden encontrar una gran variedad de dispositivos móviles, donde los teléfonos móviles y los PDAs son los tipos de dispositivos más utilizados y conocidos en la actualidad, los que ofrecen mayor variedad de aplicaciones multimedia y los que más posibilidades de evolución presentan en este sentido. Características de dispositivos móviles Una característica importante es el concepto de movilidad, los dispositivos móviles son pequeños para poder portarse y ser fácilmente empleados durante su transporte. En muchas ocasiones pueden ser sincronizados con algún sistema de la computadora para actualizar aplicaciones y datos. Con algunas capacidades de procesamiento, con conexión permanente o intermitente a una red, con memoria limitada, diseñados específicamente para una función, pero que pueden llevar a cabo otras más generales. La mayoría de estos aparatos pueden ser transportados en el bolsillo del propietario y otros están integrados dentro de otros mayores, controlando su funcionalidad (como puede ser un procesador integrado en una lavadora). 1.2 Tipos de dispositivos móviles Un dispositivo móvil no solamente son los celulares. Los siguientes son típicos dispositivos móviles:

Teléfono inteligente

Teléfono inalámbrico

Videoconsola portátil

Cámara digital

Cámara en vídeo troll PDA El término handheld (o Handheld Computer, Handheld Device) es un anglicismo que significa en castellano "palmar" y describe a una computadora portátil que se puede llevar en una mano a cualquier parte mientras se utiliza. Los procesadores palmares, o también llamados PDA (Asistentes Digitales Personales), así llamados porque caben en la palma de la mano, fueron diseñados originalmente como organizadores personales, lo que hacen de una forma muy eficiente. Las características básicas de un PDA son una agenda, libreta de direcciones, lista de tareas y bloc de notas; aunque con el auge de los nuevos procesadores y disponibilidad de software ya se han potenciado las aplicaciones web, juegos y casi cualquier otra aplicación propia de un ordenador de escritorio.

Page 4: Desarrollo Aplic Mov

4

Aunque estas primeras características son muy provechosas para ayudar a cualquier persona a mantenerse ordenada, la característica que difundió su uso para cualquier persona ocupada que utilice una computadora de escritorio es la de la sincronización fácil de la información con una computadora de escritorio.

Page 5: Desarrollo Aplic Mov

5

En los comienzos de la telefonía móvil no había un estándar de comunicaciones, en su lugar, cada compañía hacía uso de su propio sistema. Ejemplo de ello es Mobile Telephone System A (MTA) phone que se podía integrar en un vehículo en el año 1956, y tuvo un total de 125 usuarios en Suecia hasta 1967. Era móvil, por supuesto, pero tenía un peso de 40 kilos. Desde finales de los 70 hasta 1983 se desarrolló el primer móvil del mercado, que tenía aspecto de los hoy tan de moda teléfonos inalámbricos. Se trata del DynaTAC 8000X, aunque su precio de la época, $3,995 dólares, dejaba claro a qué tipo de público iba dirigido. El precio actual de su salida al mercado, teniendo en cuenta la inflación de todos estos años vendría a ser algo más de 6,000 euros Motorola siguió innovando en el terreno móvil ya que en 1989 lanzó el teléfono móvil más pequeño y ligero de la época en 1989, el primer móvil con diseño de tapa, que permitía reducir el tamaño del mismo en reposo y poder ser desdoblado para utilizarlo MicroTAC. Se tendrá que esperar para ver qué depara el futuro, pero parece claro que Internet móvil, pantallas táctiles, tiendas de aplicaciones y facilidad de uso serán elementos comunes de los teléfonos móviles en años venideros.

Page 6: Desarrollo Aplic Mov

6

1.3 Desarrollo de aplicaciones para dispositivos móviles

1.3.1 Nociones básicas Tecnología móvil Los recientes avances de las tecnologías de hardware, software y telecomunicaciones, están alimentando una nueva generación de sistemas o herramientas tecnológicas que están generando un gran impacto dentro del sector empresarial. Estas nuevas herramientas permiten a usuarios con dispositivos móviles conectarse a Internet a gran velocidad a través de la propia red de comunicación móvil o a través de redes locales inalámbricas. Dentro de este nuevo escenario, el término “Tecnología móvil” hace referencia al conjunto de dispositivos y herramientas que dan la posibilidad de realizar una actividad determinada de manera ubicua, que normalmente se inscribe en un espacio físico, en otro lugar. Estos avances tecnológicos han impulsado a la sociedad actual a inclinarse con una confianza creciente hacia las distintas posibilidades de explotar servicios antes desconocidos, como puede ser el comercio electrónico, el cual está demostrando las innumerables ventajas que este puede aportar al crecimiento económico. Los requerimientos de la población de la sociedad en cuanto al acceso remoto a la información contenida en bases de datos también ha mostrado una evolución creciente, por lo tanto es de interés estudiar y aportar soluciones a medida para brindar servicios que permitan satisfacer estos requerimientos de información. La utilización del teléfono móvil ha traspasado fronteras inimaginables desde hace unos años atrás, aportando la libertad de la ”no dependencia” de cables para que las personas puedan comunicarse o acceder a Internet en casi cualquier lugar. Dentro de un escenario corporativo, las tecnologías móviles permiten llevar a cabo tareas sin estar en la oficina, y poder efectuar múltiples

Page 7: Desarrollo Aplic Mov

7

actividades, favoreciendo el teletrabajo y dando solución a uno de los mayores „canceres‟ de esta sociedad, la baja productividad. Las tecnologías móviles se han convertido en una necesidad para la vida diaria de muchas personas. Hoy más que nunca, se ve una gran cantidad de gente utilizando las aplicaciones de los dispositivos de cómputo móvil para llevar a cabo sus tareas tanto de trabajo o de estudio como de entretenimiento. El desarrollo de aplicaciones para estos dispositivos se ha convertido en un nicho de oportunidad para los profesionistas de la computación. Los nuevos dispositivos móviles permiten acceder a multitud de servicios, muchos de ellos gratuitos, convirtiéndose en pequeños procesadores a través de los cuales se interactúa con un entorno cada vez más tecnológico. Conceptos como web móvil, ubicuidad o geolocalización están directamente relacionados con este tipo de tecnologías móviles a las que no se puede seguir dando la espalda, debido a que son las que una parte creciente de los usuarios utilizan de manera habitual. Desarrollo de aplicaciones en dispositivos móviles Para el desarrollo de aplicaciones en dispositivos móviles, se deben de tomar en cuenta los siguientes puntos:

Propósito de la aplicación

Tipo de dispositivo (os, memoria, comunicación, protocolo, display)

Limitaciones y alcances del dispositivo

Tipo de usuario

Tipo de interfaz

Interoperabilidad

Madurez tecnológica

Soporte

Documentación

Capacitación del usuario Limitaciones Las limitaciones en dispositivos móviles son:

Procesamiento

Almacenamiento

Visualización

Conectividad

interoperabilidad

Page 8: Desarrollo Aplic Mov

8

1.3.2 Máquina virtual Herramienta móvil Se desarrollan herramientas para facilitar la creación de aplicaciones cliente/servidor preparadas para interactuar con múltiples dispositivos y diversos sistemas operativos. Trabajándose con herramientas que facilitan esta labor. Principalmente, en aplicaciones para las tecnologías móviles más populares: iOS, Android, JavaME/BlackBerry, Windows Mobile/Phone, Symbian, etc., aunque también para PC (Windows, Mac OSX, Linux) y dispositivos con capacidades restringidas tales como reproductores multimedia, sistemas de TV digital interactiva, etc. Se mantiene especial atención a la creación de aplicaciones para teléfonos móviles y tablets, por la movilidad del usuario y del contexto en que éste interactúa con el dispositivo. Se tienen en cuenta aspectos como el tipo de red disponible, la pérdida de conexión o las capacidades de los dispositivos (alto/ancho de pantalla, sistema operativo, navegador web, etc.). El concepto de Mobile Learning no es nuevo en el entorno educativo ya que lleva años siendo utilizado en planes de formación de cientos de instituciones académicas que desean adaptarse a la nueva realidad tecnológica. Los dispositivos móviles se están convirtiendo en herramientas educativas cada vez más comunes dentro de la educación porque ofrecen grandes ventajas. Las herramientas móviles ofrecen una mayor flexibilidad de aprendizaje ya que se tienen a disposición estas tecnologías las 24 horas del día. Hay una gran cantidad de juegos creados para dispositivos móviles que pueden ser un gran apoyo en el proceso de formación impulsando la colaboración y la participación entre los estudiantes. También están disponibles grandes cantidades de actividades. Se puede acceder a información en línea para apoyar el trabajo de campo. El uso de smartphones, tablets, etc. proporciona un acceso sencillo y rápido al conocimiento. Las personas pueden usar sus dispositivos como herramientas de trabajo y/o educativas; tienen acceso inmediato a ensayos, avisos, correos, noticias y a información general y académica en tiempo real. Ofrecen mayor autonomía que una computadora ya que se pueden personalizar y transportar de forma más sencilla. Fomentan la interacción entre las personas y con los dispositivos móviles la comunicación e interacción es posible que sea casi instantánea. Con los dispositivos móviles las personas y los alumnos son capaces de aprender a su propio ritmo, personalizan su forma de aprendizaje y al mismo tiempo se divierten.

Page 9: Desarrollo Aplic Mov

9

Máquina virtual Un entorno para ejecutar aplicaciones en J2ME se compone de:

máquina virtual

configuración: son un conjunto de clases básicas orientadas a conformar el corazón de las implementaciones para dispositivos de características específicas, CLDC y CDC.

perfil: son bibliotecas Java de clases específicas orientadas a implementar funcionalidades de más alto nivel para familias específicas de dispositivos.

paquete opcional

Una máquina virtual de Java (JVM) es un programa encargado de interpretar código intermedio (bytecode) de los programas Java precompilados a código máquina ejecutable por la plataforma, efectuar las llamadas pertinentes al sistema operativo subyacente y observar las reglas de seguridad y corrección de código definidas para el lenguaje Java. De esta forma, JVM proporciona al programa Java independencia de la plataforma con respecto al hardware y al sistema operativo subyacente. La máquina virtual de configuración CLDC (Connected Limited Device Configuration) se denomina KVM y la de CDC (Connected Device Configuration) se denomina CVM. KVM Es la máquina virtual más pequeña desarrollada por Sun. Su nombre KVM proviene de Kilobyte, haciendo referencia a la baja ocupación de memoria, entre 40 kb y 80 kb). Tiene alta portabilidad, es modulable y lo más completa y rápida posible, sin sacrificar características para las que diseñada. CVM La CVM ha sido tomada como máquina virtual Java de referencia para la configuración CDC y soporta las mismas características que la máquina virtual de J2SE. Está orientada a dispositivos electrónicos con procesadores de 32 bits de gama alta y entorno a 2 Mb o más de memoria RAM. Tiene sistema de memoria avanzado, tiempo de espera bajo para el recolector de basura, separación completa de la VM del sistema de memoria, portabilidad, rápida sincronización, soporte nativo de hilos.

Page 10: Desarrollo Aplic Mov

10

1.3.3 Configuración y perfiles La CDC está orientada a dispositivos con cierta capacidad computacional y de memoria. Por ejemplo, decodificadores de televisión digital, televisores con internet, algunos electrodomésticosy sistemas de navegación en automóviles.

La CLDC está orientada a dispositivos dotados de conexión y con limitaciones en cuanto a capacidad gráfica, cómputo y memoria. Un ejemplo de éstos dispositivos son: télefonos móviles, buscapersonas (pagers), PDA´s, organizadores personales.

Un perfil es un conjunto de API´s orientado a un ámbito de aplicación determinado. Los perfiles identifican un grupo de dispositivos por la funcionalidad que proporcionan (electrodomésticos, teléfonos móviles) y el tipo de aplicaciones que se ejecutarán en ellos. Las bibliotecas de la interfaz gráfica son un componente muy importante en la definición de un perfil. Aquí se pueden encontrar grandes diferencias entre interfaces, desde el menú textual de los teléfonos móviles hasta los táctiles de los PDA´s.

Page 11: Desarrollo Aplic Mov

11

Para la configuración CDC se tienen los siguientes perfiles:

foundation profile

personal profile

RMI profile Para la configuración CLDC se tienen los siguientes perfiles:

PDA profile

Mobile information device profile (MIDP)

1.3.4 Localización de la aplicación en el dispositivo Un dispositivo que posea la especificación MIDP debe ser capaz de localizar los archivos JAD vinculados a un MIDlet en la red, descargar el MIDlet y el archivo JAD al dispositivo desde un servidor usando el protocolo HTTP u otro que posea su funcionalidad. El usuario debe ser capaz de ver la descripción del MIDlet a través de un enlace que, una vez seleccionado, inicializa la instalación del MIDlet. Si el enlace es un archivo JAR, el archivo y su URL son enviados al AMS (application management software) del dispositivo para empezar el proceso de instalación. También se tiene el archivo JAD, que son librerías que requiere el móvil y no cuenta con ellas para ejecutar el archivo JAR.

Page 12: Desarrollo Aplic Mov

12

Tecnologías emergentes Hablar de tendencia es hablar de una dirección y de la posibilidad de que en un futuro no muy lejano existan o mejoren ciertas tecnologías para que sean un éxito entre los consumidores. Hablar de tecnologías emergentes es utilizar cosas existentes en este momento, como lo es la tecnología, para dar soluciones actuales y reales. Nivel posible de utilización que tendrá alguna tecnología específica, esto en base al uso que se ha tenido y se tiene en el momento de emitirla. Con respecto al equipo, es el comportamiento de elementos de un entorno esencial para el enfoque técnico del análisis de mercados

Definición de tecnología emergente Son innovaciones radicales, así como tecnologías más evolucionadas formadas a raíz de la convergencia de ramas de investigación antes separadas. Con respecto al equipo se refiere a nuevas tecnologías las cuales surgen de necesidades del ser humano, deben de ser más eficientes e innovadoras.

Page 13: Desarrollo Aplic Mov

13

Rubros en tecnologías emergentes Bases de datos

Redis: base de datos que asocia a una clave un determinado valor. Para ser lo más rápida posible y a la vez no volátil redis tiene todo el conjunto de datos en memoria, Redis está escrito en ANSI C y funciona en la mayoría de sistemas POSIX como Linux, BSD, Mac OS X. Redis es software libre bajo licencia BSD.

Oracle: es un conjunto de datos almacenados y accesibles según el formato de tablas relacionales, los datos están almacenados en los registros.

Redes

Cables cuánticos: cables fabricados con nanotubos de carbón cuyo menor peso y mayor fuerza permitiría que torres existentes soporten cables con 10 veces la capacidad, gracias a las nanopropiedades de los cables cuánticos, estos pueden llevar corrientes eléctricas sin producir resistencia y calor, por lo que no requieren equipos costosos de enfriamiento.

Web

Web 3.0 : permite tener interactividad en buscadores, redes sociales, enciclopedias, etc., haciendo posible la colaboración de relaciones, conocimiento social, aprendizaje y propiciar el compartir y generar información.

Web semántica: se basa en la idea de añadir datos semánticos a internet. Por ejemplo, los buscadores encuentran información relevante más fácilmente.

Lenguajes de programación

HTML5: es un conjunto de HTML con una variante de XHTML.

MySQL: base de datos basada en un servidor, puede ser sólo creada por código, usualmente se utiliza el programa phpMyAdmin como soporte para administrar la base de datos en el nivel de programación.

Sistemas operativos

Windows 8: para uso en computadoras personales, como son computadoras de escritorio, computadoras portátiles, netbooks, Tablet y servidores.

OS X Lion: construido sobre base UNIX, está diseñado para obtener el máximo provecho de las tecnologías en Mac.

Android Hardware

Pantallas transparentes: deja pasar el 90% de la luz visible.

Ipad 3: sus funciones son similares al resto de dispositivos móviles de Apple, como iPhone, iPod touch, Ipad 2, pero la pantalla es más grande y su hardware más potente.

Page 14: Desarrollo Aplic Mov

14

Tecnología de clientes ligeros: tecnología inalámbrica, redes de datos de radio, tecnología de microondas, redes de radio móvil, asistentes personales digitales, tarjetas inteligentes. Tecnología de clientes ligeros Un cliente liviano o cliente delgado (thin client o slim client en inglés) es una computadora cliente o un software de cliente en una arquitectura de red cliente/servidor que depende primariamente del servidor central para las tareas de procesamiento, y se enfoca principalmente en transportar la entrada y la salida entre el usuario y el servidor remoto. En contraste, un cliente pesado realiza tanto procesamiento como sea posible y transmite solamente los datos para las comunicaciones y el almacenamiento al servidor. Muchos dispositivos de cliente liviano ejecutaban solamente navegadores web o programas de escritorio remoto, lo que significaba que todo el procesamiento significativo ocurría en el servidor. Sin embargo, dispositivos recientes vendidos

Page 15: Desarrollo Aplic Mov

15

como clientes livianos pueden correr sistemas operativos completos tales como GNU/Linux Debian, calificándolos como nodos sin disco o clientes híbridos. Algunos clientes livianos también son llamados "terminales de acceso". Consecuentemente, el término "cliente liviano", en términos de hardware, incluye a cualquier dispositivo usado como un cliente liviano en la definición original, incluso si sus capacidades reales son mucho mayores. El término también es usado en un sentido incluso más amplio que incluye nodos sin disco. Tecnología inalámbrica, redes de datos de radio, tecnología de microondas, redes de radio móvil, asistentes personales digitales, tarjetas inteligentes. Redes inalámbricas Las redes inalámbricas son el resultado de la convergencia de 2 tecnologías: redes y radio, lo que a su vez marca un hito en la era de las telecomunicaciones. El principio básico de las redes inalámbricas nace en el siglo XIX cuando Guillermo Marconi, El Padre de la Radio, dio inicio al mundo de la tecnología inalámbrica. Cuando Marconi comenzó a experimentar con las Ondas Hertzianas en 1894 su objetivo era producir y detectar ondas de radio en largas distancias. En 1896 Marconi tuvo éxito y obtuvo una patente sobre su invento y estableció la Wireless Telegraph and Signal Company Limited, Compañía de Telegrafía y Señales Inalámbricas Limitada, La primera empresa de radio en el mundo. En 1901 se realizó la primera transmisión transatlántica y en 1905 la primer señal de auxilio enviada por telégrafo inalámbrico fue transmitida utilizando Código Morse. La tecnología inalámbrica eventualmente progresó como una herramienta indispensable para la milicia norteamericana, que utilizó señales inalámbricas para transmitir datos encriptados, lo que hace que un acceso no autorizado al tráfico de la red sea casi imposible. Este tipo de tecnología se utilizó por primera vez durante la Segunda Guerra Mundial cuando la armada de EE.UU. comenzó a transmitir planes de combate a través de las líneas enemigas y cuando los barcos de la naval instruyeron a sus tropas de costa a costa. La tecnología inalámbrica probó ser tan útil como un medio de comunicaciones seguras que muchas empresas, escuelas y negocios pensaron que podrían expandir su área de cómputo al extender sus redes de área local utilizando tecnologías inalámbricas.

Page 16: Desarrollo Aplic Mov

16

Page 17: Desarrollo Aplic Mov

17

Asistentes personales digitales Un procesador de bolsillo, organizador personal o una agenda electrónica de bolsillo, (PDA) (del inglés 'personal digital assistant' (asistente digital personal)), es una computadora de mano originalmente diseñada como agenda electrónica (calendario, lista de contactos, bloc de notas y recordatorios) con un sistema de reconocimiento de escritura. Hoy en día (2014) estos dispositivos, pueden realizar muchas de las funciones que hace una computadora de escritorio (ver películas, crear documentos, juegos, correo electrónico, navegar por Internet, reproducir archivos de audio, etc.) pero con la ventaja de ser portátil. Actualmente un procesador de bolsillo típico tiene al menos una pantalla táctil para ingresar información, una tarjeta de memoria para almacenarla y al menos un sistema de conexión inalámbrica, ya sea infrarrojo, Bluetooth o WiFi. El software requerido por una computadora de bolsillo incluye por lo general un calendario, un directorio de contactos y algún programa para agregar notas. Algunos organizadores digitales también contienen soporte para navegar por la red y para revisar el correo electrónico. Las agendas digitales suelen llevar pantalla táctil para la navegación.

Page 18: Desarrollo Aplic Mov

18

Muchas agendas digitales como el Apple Newton y el Palm Pilot, tiene pantallas táctiles para interactuar con el usuario, por lo que tienen muy pocos botones reservados para abrir los programas más utilizados. Por lo general las agendas digitales con esta pantalla tienen un lápiz desmontable, con el cual se realizan todas las tareas. Los procesadores de bolsillo diseñados para el uso en negocios, como el BlackBerry o el Treo tienen teclados completos y barras de desplazamiento para facilitar el ingreso de información, en vez de usar una pantalla táctil. Los PDA más nuevos como el iPhone o el iPod Touch incluyen una nueva interfaz de usuario con otros medios de entrada. Estos PDAs usan una tecnología llamada Multitouch. Tarjeta inteligente Una tarjeta inteligente o tarjeta chip es una tarjeta de plástico, similar a una tarjeta de banda magnética, en la que se coloca un pequeño circuito integrado también llamado chip. Este chip es un microprocesador que puede almacenar y procesar información. Las tarjetas inteligentes ofrecen una serie de ventajas adicionales a las tarjetas de banda magnética:

Capacidad de memoria: pueden almacenar mucha más información.

Soporte activo que almacena y procesa información: la banda magnética sólo permite almacenar información (soporte pasivo).

Un solo producto, múltiples usos: el chip puede alojar múltiples aplicaciones. Esto se traduce en beneficios adicionales para los titulares y las Entidades Emisoras.

Mayor seguridad: el chip permite utilizar técnicas criptográficas que proporcionan una mayor protección contra el fraude.

Page 19: Desarrollo Aplic Mov

19

UNIDAD II PROGRAMACIÓN DE DISPOSITIVOS MÓVILES

2.1. Lenguajes para programar dispositivos móviles 2.2. Requerimientos funcionales

2.2.1. Localización 2.2.2. Instalación 2.2.3. Actualización 2.2.4. Ejecución 2.2.5. Eliminación

2.3. Sintaxis 2.4. Tipos de datos 2.5. Operadores 2.6. Sentencias de control 2.7. Sentencias de selección 2.8. Sentencias de iteración 2.9. Clases 2.10. Constructores 2.11. Herencia 2.12. Polimorfismo

2.1 Lenguajes para programar dispositivos móviles Para todas las aplicaciones se recomienda utilizar lenguajes visuales, por lo que las empresas como Apple, Android y Windows utilizan lenguajes visuales para sus aplicaciones móviles. A continuación se mencionaran las más utilizadas para aplicaciones móviles de las populares: Windows Mobile, IPhone, Android. Apple utiliza Objective C, este es un lenguaje de programación muy parecido a JAVA y a C++. Objective C es mucho más sencillo que los lenguajes bases como lo son JAVA Y C++. Además de Objective C se puede llegar a utilizar cocoa. Windows phone utiliza por excelencia Visual Studio, este lenguaje de programación es el que utiliza Microsoft con la mayoría de sus programas como podría ser Excel o Word, hasta sus aplicaciones móviles. De este lenguaje se puede derivar el Visual Basic, como su nombre lo dice es el básico con el que la mayoría de las personas comienzan. Por último pero no menos importante el Android. Android es el lenguaje más utilizado alrededor del mundo. Android utiliza el lenguaje de JAVA, pero si tiene que tener el Kit de desarrollo nativo. Java es de los lenguajes más utilizado por todo el mundo. Java fue creado por la empresa Oracle. Se utiliza netbeans, para programar en Java móvil.

Page 20: Desarrollo Aplic Mov

20

2.2 Requerimientos funcionales

El tipo de aplicación es lo que conlleva una serie de requerimientos funcionales explícitos y otra serie de requisitos no funcionales implícitos. Por lo anterior se establece una funcionalidad requerida y una funcionalidad objetiva. Por ejemplo: Los dispositivos deben proporcionar mecanismos mediante los cuales se puedan encontrar los MIDlets que se desean descargar. Estos mecanismos son WAP o aplicaciones residente escrita para este fin, bluetooth, cable, wifi, etc. El programa encargado de manejar la descarga y ciclo de vida de los MIDlets en el dispositivo móvil se llama gestor de aplicaciones o AMS (Application Managemente Software).

Page 21: Desarrollo Aplic Mov

21

2.2.1 Localización Un dispositivo debe ser capaz de localizar archivos JAD vinculados a un MIDlet en la red. Un MIDlet es una aplicación que utiliza un perfil para dispositivos de información móvil (Movil Information Device Profile) en CLDC para ambientes en Java ME. Debe descargar el MIDlet y el archivo JAD en el dispositivo desde un servidor usando un protocolo HTTP u otro que posea la función. El descubrimiento de una aplicación es el proceso por el cual un usuario a través de su dispositivo localiza un MIDlet. El usuario debe ser capaz de ver la descripción del MIDlet a través de un enlace que, una vez seleccionado, inicializa la instalación del MIDlet. Si el enlace utiliza un archivo JAR, el archivo y su URL son enviados al AMS del dispositivo para empezar el proceso de instalación. 2.2.2 Instalación La instalación de la aplicación es el proceso por el cual el MIDlet es descargado al dispositivo para ser utilizado por el usuario. Durante la instalación, el usuario debe ser informado del progreso de ésta y se le debe dar la oportunidad de cancelarla. La interrupción de la instalación debe dejar al dispositivo con el mismo estado que cuando se inició ésta. Pasos de instalación de un MIDlet que realiza el AMS :

1) Si el JAD fue lo primero que descargo el AMS, el MIDlet debe tener exactamente la misma URL especificada en la configuración (descriptor).

2) Si el servidor responde a la petición del MIDlet con un código 401 (unauthorized) o un 407 (proxy authentication required), el dispositivo debe enviar al servidor las correspondientes identificaciones.

2.2.3 Actualización La actualización se realiza cuando se instala un MIDlet sobre un dispositivo que ya contenía una versión anterior de éste. El dispositivo debe ser capaz de informar al usuario cual es la versión de la aplicación que tiene instalada. Cuando comienza la actualización, el dispositivo debe informar si la versión que va a instalar es más nueva, vieja o la misma de la ya instalada y debe obtener verificación por parte del usuario antes de continuar con el proceso. En cualquier caso, un MIDlet que no pose firma no debe de reemplazar a otro que sí la tenga.

Page 22: Desarrollo Aplic Mov

22

2.2.4 Ejecución

Cuando un usuario comienza a ejecutar un MIDlet, el dispositivo debe invocar a

las clases CLDC y MIDP requeridas por la especificación.

Si existen varios MIDlets, la interfaz de usuario debe permitir al usuario

seleccionar el MIDlet que desea ejecutar.

2.2.5 Eliminación Los dispositivos deben permitir al usuario eliminar MIDlets. Antes de eliminar una aplicación el usuario debe dar su confirmación. El dispositivo deberá avisar al usuario si ocurriese alguna circunstancia especial durante la eliminación del MIDlet. 2.3 Sintaxis Se debe conocer la sintaxis del lenguaje en que se desarrollará la aplicación móvil, por ejemplo, si se trabaja en Java, algunos aspectos generales a considerar son:

1) El lenguaje es sensible a mayúsculas y minúsculas 2) Las sentencias finalizan con punto y coma 3) Los bloques de instrucciones se delimitan con llave 4) Los comentarios pueden ser de una línea y multilínea

Page 23: Desarrollo Aplic Mov

23

2.4 Tipos de datos

Es necesario conocer los tipos de datos permitidos en los lenguajes, debido a las

variables que se utilizan en un programa. El nombre de la variable debe ser un

identificador válido para el lenguaje utilizado porque se usará para referirse a los

datos que contendrá la variable.

El tipo de datos de una variable determina los valores que puede almacenar y las

operaciones que se pueden hacer sobre ella.

Ejemplo en Java:

Page 24: Desarrollo Aplic Mov

24

2.5 Operadores También es necesario conocer los operadores permitidos en los lenguajes, debido

a estos permiten las operaciones en el programa.

Operadores en Java:

Page 25: Desarrollo Aplic Mov

25

2.6 Sentencias de control

Por lo general, en un programa las instrucciones se ejecutan una después de otra

en el orden en que están escritas, este proceso se conoce como ejecución

secuencial.

Varias instrucciones permiten al programador especificar la siguiente instrucción a ejecutarse que tal vez no sea la siguiente en la secuencia, esto se conoce como transferencia de control.

Page 26: Desarrollo Aplic Mov

26

2.7 Sentencias de selección Son aquellas en donde las instrucciones a ejecutarse dependen de una condición, como son el if, if-else, switch. Ejemplo en Java:

2.8 Sentencias de iteración Son aquellas en donde las instrucciones se ejecutarán un número específico de veces, en este rubro se encuentra el for, while, do-while. Ejemplo en Java:

2.9 Clases Una clase se compone de miembros, los miembros pueden ser datos o funciones. Los miembros de datos pueden ser constantes, variables u otros tipos de datos definidos previamente. Los miembros funcionales pueden ser métodos y constructores.

Page 27: Desarrollo Aplic Mov

27

2.10 Constructores

Un constructor es un método que se llama automáticamente cada vez que se crea

un objeto de una clase. La principal misión del constructor es reservar memoria e

inicializar las variables de la clase.

Los constructores no tienen valor de retorno y su nombre es el mismo que el de la

clase. Su argumento implícito es el objeto que se está creando.

Una clase tiene varios constructores, que se diferencian por el tipo y número de

sus argumentos. Se llama constructor por defecto al constructor que no tiene

argumentos.

Ejemplo en Java

El operador punto (.) se utiliza para acceder a las variables de instancia y los métodos contenidos en un objeto, mediante su referencia a objeto:

Page 28: Desarrollo Aplic Mov

28

2.11 Herencia En la POO la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases ya existente, evitando con ello el rediseño, la remodificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya creados. La herencia es uno de los mecanismos de la POO, por medio del cual una clase se deriva de otras, a la clase ya existente se le llama superclase, clase base o clase padre y a la nueva clase se le llama subclase, clase derivada o clase hija. 2.12 Polimorfismo El concepto es uno de los fundamentos para cualquier lenguaje OO, su significado es POLI = múltiple, MORFISMO = formas, esto implica un mismo objeto con diversas formas. El polimorfismo es un concepto de la POO que permite programar en forma general, en lugar de hacerlo en forma específica. En general sirve para programar objetos con características comunes y que todos compartan la misma superclase en una jerarquía de clases, como si todos fueran objetos de la superclase. El sentido del polimorfismo (upcasting) es realizar una generalización, olvidar los detalles concretos de uno o varios objetos de distintas clases y buscar un punto común a todos ellos en un ancestro. Un downcasting es interpretar un objeto de una clase base como del mismo tipo que una clase derivada suya. Se especifica precediendo al objeto a convertir con el nuevo tipo entre paréntesis.

Page 29: Desarrollo Aplic Mov

29

Ejemplo:

Ejemplo de polimorfismo

Page 30: Desarrollo Aplic Mov

30

UNIDAD III HERRAMIENTAS DE DESARROLLO

3.1. Desarrollo en línea de comandos 3.2. Instalación de componentes 3.3. Fases de desarrollo

3.3.1. Creación de archivo manifiesto 3.3.2. Creación de archivo JAR 3.3.3. Creación de archivo JAD

3.4. Desarrollo de entornos visuales 3.4.1. Ambiente gráfico

Introducción a las herramientas de desarrollo A continuación se explican las herramientas que se necesitan para construir los MIDlets. El proceso de creación de los MIDlets se puede realizar básicamente de dos formas:

A través de la línea de comandos

A través de un entorno visual Los MIDlets son ejecutados en dispositivos MID (Mobile Information Device) y no en los procesadores en donde se desarrollan. Por lo anterior, sea cual sea el método de creación que se utilice, se tiene que hacer uso de algún emulador para realizar las pruebas de las aplicaciones. El emulador puede representar a un dispositivo genérico o puede ser de él modelo de MID utilizado. Etapas de desarrollo Las etapas de desarrollo de una aplicación móvil son las siguientes:

Desarrollo: en esta fase se escribe el código que conforma el MIDlet

Compilación: se compila la aplicación utilizando un compilador J2SE

Preverificación: en esta fase se realiza un examen del código del MIDlet para ver que no viola ninguna restricción de seguridad de la plataforma J2ME

Empaquetamiento: es esta fase se crea el archivo JAR que contiene los recursos que necesita la aplicación y se creará un archivo JAD, el cual contendrá las librerías necesarias para la aplicación en caso de que él MID no las tenga

Ejecución: en esta fase se ejecuta la aplicación en el emulador

Depuración: en esta fase permite depurar los fallos detectados en la fase de ejecución del MIDlet

Page 31: Desarrollo Aplic Mov

31

3.1 Desarrollo en línea de comandos Las herramientas que se utilizan para el desarrollo de MIDlets son las siguientes:

Un editor de texto para escribir el código del MIDlet, por ejemplo, bloc de notas.

Un compilador estándar de Java, por ejemplo SDK de J2SE.

Las APIs de la configuración CLDC y del perfil MIDP. 3.2 Instalación de componentes

Page 32: Desarrollo Aplic Mov

32

3.3 Fases de desarrollo El desarrollo y preparación de una aplicación puede dividirse en las siguientes cuatro fases:

a) Desarrollo del código: En esta fase se hace uso de un editor de texto cualquiera. Una vez terminado el código que conformará el MIDlet se deberá guardar el archivo con el mismo nombre de la clase principal y con la extensión .java.

b) Compilación: En este paso se genera el archivo .class asociado a la clase .java creada en la fase anterior. Para realizar la compilación se situa en la línea de comandos, y después situarse en el directorio donde se encuentra el archivo .java.

c) Preverificación: En este paso se realizará la preverificación de clases. Se tendrá que ir al directorio en donde se encuentra la clase ya compilada. Por defecto, la preverificación generará un archivo .class.

d) Empaquetamiento: En esta fase se empaqueta el MIDlet y está listo para su descarga en el dispositivo MID.

Page 33: Desarrollo Aplic Mov

33

Para lo anterior se tienen que construir dos archivos:

Un archivo JAR con los archivos que forman el MIDlet (aplicación móvil)

Un archivos JAD descriptor de las librerías que requiere la aplicación, en caso de que el dispositivo no cuente con ellas.

Un archivo JAR está formado por los siguientes elementos:

Un archivo manifiesto que describe el contenido del archivo JAR

Las clases Java que forman el MIDlet

Los archivos de recursos usados por el MIDlet

3.3.1 Creación de archivo manifiesto El archivo de manifiesto es opcional y describe el contenido del archivo JAR. Este archivo contiene atributos de la forma atributo: valor. La creación de éste puede realizarse desde cualquier editor de texto y tiene la siguiente apariencia:

Page 34: Desarrollo Aplic Mov

34

3.3.2 Creación de archivo JAR Una vez creado el archivo manifiesto, solo queda crear el archivo JAR. Para ello se va a la línea de comando y escribir:

3.3.3 Creación de archivo JAD El AMS o Gestor de aplicaciones, puede usar este archivo para obtener información útil sobre el MIDlet. Este archivo al igual que el manifiesto define una serie de atributos.

3.4 Desarrollo de entornos visuales Una vez realizado el respectivo archivo en Netbeans, se continuará el desarrollo en J2ME Wireless Toolkit, el módulo principal de esta herramienta es KToolBar. A través de este módulo se pueden realizar distintos proyectos y ejecutarlos sobre un emulador.

Page 35: Desarrollo Aplic Mov

35

El proceso que se realiza es el siguiente:

Crear un nuevo proyecto. Al momento de la creación da la oportunidad de definir ciertos atributos en el archivo JAD.

Una vez creado el entorno crea un sistema de directorios dentro de la carpeta apps

En el subdirectorio src es donde se guardan los archivos .java con el código fuente. En el directorio res se guardan los recursos que utilizará el MIDlet.

Si se usa una librería adicional, se debe guardar en el subdirectorio lib.

Una vez situados los archivos en los subdirectorios correspondientes, solo se tiene que compilar el proyecto y ejecutarlo sobre el emulador.

Una vez que se realicen las pruebas necesarias con el MIDlet, esta herramienta también da la posibilidad de empaquetar el MIDlet y dejarlo de esta manera, preparado para la descarga en un dispositivo real.

Page 36: Desarrollo Aplic Mov

36

3.4.1 Ambiente gráfico Netbeans

Page 37: Desarrollo Aplic Mov

37

Page 38: Desarrollo Aplic Mov

38

Page 39: Desarrollo Aplic Mov

39

UNIDAD IV CONFIGURACIÓN DE DISPOSITIVOS MÓVILES 4.1. Configuración CLDC 4.2. Objetivos y requerimientos 4.3. Seguridad en CLDC 4.4. Librerías CLDC

4.4.1. Compatibilidad 4.4.2. Clases heredadas 4.4.3. Clases propias

4.1 Configuración CLDC La configuración CLDC se ocupa de las siguientes áreas:

Lenguaje Java y características de la máquina virtual.

Librerías del núcleo de Java (java.lang.*y java.util.*).

Entrada/Salida.

Comunicaciones.

Seguridad.

Internacionalización.

4.2 Objetivos y requerimientos El objetivo principal de la especificación CLDC es definir un estándar básico, para pequeños dispositivos conectados con recursos limitados con las siguientes características:

1. 160 kb a 512 kb de memoria total disponible para la plataforma java. 2. Procesador de 16 bits o 32 bits. 3. Bajo consumo, normalmente el dispositivo usa batería. 4. Conectividad a algún tipo de red, normalmente inalámbrica, con conexión

intermitente y ancho de banda limitado (unos 9600 bps). Extensibilidad Uno de los grandes beneficios de la tecnología java en los pequeños dispositivos es la distribución dinámica y de forma segura de contenido interactivo y aplicaciones sobre diferentes tipos de red.

Page 40: Desarrollo Aplic Mov

40

Desarrollo de aplicaciones por terceras partes La especificación CLDC solo deberá incluir librerías de alto nivel que proporcionen suficiente capacidad de programación para desarrollar aplicaciones por terceras partes. Por esta razón, las APIs de red incluidas en CLDC deberían proporcionar al programador una abstracción de alto nivel como, por ejemplo, la capacidad de trasferir archivos enteros, aplicaciones o páginas web, en vez de requerir que el programador conozca los detalles de los protocolos de transmisión para una red específica. Requerimientos Los requerimientos se clasifican en hardware, software y requerimientos basados en las características java de la plataforma J2ME. Requerimientos hardware La configuración CLDC asume que la máquina virtual, librerías de configuración, librerías de perfil y la aplicación debe ocupar una memoria entre 160 kb y 512 kb como mínimo. Más concretamente:

128 kb de memoria no volátil para JVM y las librerías CLDC

Al menos 32 kb de memoria volátil para el entorno de ejecución java y objetos en memoria

Requerimientos software Generalmente, la configuración CLDC asume que el dispositivo contiene un mínimo sistema operativo encargado del manejo del hardware de éste. Este sistema operativo debe proporcionar al menos una entidad de planificación para ejecutar la JVM. Requerimientos J2ME El objetivo de la configuración es garantizar portabilidad e interoperabilidad entre varios tipos de dispositivos con recursos limitados. Una configuración no debe definir ninguna característica opcional. Esta limitación tiene un impacto significativo en lo que se puede incluir en una configuración y lo que no. La funcionalidad más específica debe ser definida en perfiles. 4.3 Seguridad en CLDC Debido a las características de los dispositivos englobados bajo CLDC, en los que se hace necesaria la descarga de aplicaciones y la ejecución de éstas en dispositivos que almacenan información muy personal, se hace imprescindible hacer un gran hincapié en la seguridad. Hay que asegurar la integridad de los datos transmitidos y de las aplicaciones.

Page 41: Desarrollo Aplic Mov

41

Éste modelo de seguridad no es nuevo, ya que la ejecución de applets (programas java que se ejecutan en un navegador web) re realiza en una zona de seguridad denominada sandbox. Los dispositivos englobados en CLDC se encuentran ante un modelo similar al de los applets. Los archivos de clases java deben ser verificados como aplicaciones java válidas. Sólo se permite el uso de APIs autorizadas por CLDC. No está permitido cargar clases definidas por el usuario. Sólo se puede acceder a características nativas que entren dentro del CLDC. Una aplicación ejecutada bajo KVM no debe ser capaz de dañar el dispositivo dónde se encuentra. De esto se encarga el verificador de clases que se asegura que no haya referencias a posiciones no válidas de memoria. También comprueba que las clases encargadas no se ejecuten de una manera no permitida por las especificaciones de la máquina virtual. 4.5. Librerías CLDC J2ME contiene un subconjunto de la funcionalidad de la versión java (SE):

No todos los paquetes

No todas las clases de un paquete

No todas las funciones de una clase Se tienen dos grupos de clases:

Heredadas de J2SE dentro de las librerías: o Java.util o Java.lang o Java.io

Específicas de esta configuración: o Javax.microedition.io

4.5.1. Compatibilidad La mayoría de las librerías incluidas en CLDC son un subconjunto de las incluidas en las ediciones J2SE y J2EE de java. Esto es así para asegurar la compatibilidad y portabilidad de aplicaciones. El mantenimiento de la compatibilidad es un objetivo muy deseable.

Page 42: Desarrollo Aplic Mov

42

Las librerías incluidas en J2SE y J2EE tienen fuertes dependencias internas que hacen que la construcción de un subconjunto de ellas sea muy difícil en áreas como la seguridad, E/S, interfaz de usuario, trabajo en red y almacenamiento de datos. Desafortunadamente, estas dependencias de las que se hablan hacen muy difícil tomar partes de una librería sin incluir otras. Por esta razón, se han rediseñado algunas librerías, especialmente en las áreas de trabajo en red y E/S. 4.5.2. Clases heredadas

Page 43: Desarrollo Aplic Mov

43

4.5.3. Clases propias

Page 44: Desarrollo Aplic Mov

44

UNIDAD V INTERFACES GRÁFICAS DE USUARIO 5.1 Introducción a las interfaces de usuario 5.2 Interfaz de usuario de alto nivel 5.3 Manejo de eventos 5.4 Creación de MIDlets usando API de alto nivel 5.5 Manipulación de eventos en pantalla 5.1 Introducción a las interfaces de usuario Dentro de las interfaces de usuario se tienen la interfaz de alto y bajo nivel. Las clases que se utilizan dentro de las interfaces son:

La clase Display

La clase Displayable

Las clases Command y CommandListener

Page 45: Desarrollo Aplic Mov

45

La clase Display public class Display La clase Display representa el manejador de la pantalla y los dispositivos de entrada. Todo MIDlet debe poseer por lo menos un objeto Display. En este objeto Display se pueden incluir tantos objetos Displayable como se requiera. La clase Display puede obtener información sobre las características de la pantalla del dispositivo donde se ejecute el MIDlet, además de ser capaz de mostrar los objetos que componen las interfaces.

Todo MIDlet debe poseer al menos una instancia del objeto Display. Para obtenerla se emplea el siguiente código: Display pantalla = Display.getDisplay(this)

Page 46: Desarrollo Aplic Mov

46

La llamada a este método se realiza dentro del constructor del MIDlet. De esta forma se asegura que el objeto Display esté a disposición durante toda la ejecución de éste. Además, dentro del método starApp se tendrá que hacer referencia a la pantalla que se quiera activar haciendo uso del método setCurrent(). Hay que tener en cuenta que cada vez que se sale del método pauseApp, se entra en el método startApp, por lo que la construcción de las pantalla y demás elementos que formarán parte del MIDlet se tendrá que hacer en el método constructor. Interfaz de usuario de bajo nivel Al crear una aplicación usando las APIs de bajo nivel, se tendrá un control total de lo que aparecerá en pantalla. Estas APIs darán un control completo sobre los recursos del dispositivo y se podrá controlar los eventos de bajo nivel como, por ejemplo, el rastreo de pulsaciones de teclas. Generalmente, estas APIs se utilizan para la creación de juegos donde el control sobre lo que aparece por pantalla y las acciones del usuario juegan un papel fundamental. 5.2 Interfaz de usuario de alto nivel Esta interfaz usa componentes tales como botones, cajas de texto, formularios, etc. Estos elementos son implementados por cada dispositivo y la finalidad de usar las APIs de alto nivel es su portabilidad. Al usar estos elementos, se pierde el control del aspecto de la aplicación ya que la estética de los componentes depende exclusivamente del dispositivo donde se ejecute. Usando estas APIs de alto nivel se gana un alto grado de portabilidad de la misma aplicación entre distintos dispositivos. La interfaz de usuario de alto nivel maneja las siguientes clases:

La clase Alert

La clase List

La clase TextBox

La clase Form

Page 47: Desarrollo Aplic Mov

47

5.3 Manejo de Eventos Un evento se refiere a alguna acción que puede ser realizada por el usuario para que el applet realice alguna serie de instrucciones. Entre algunos eventos dentro de un applet se tiene:

Oprimir un botón especifico

Mover una barra de desplazamiento

Oprimir una tecla específica Cuando un applet está ejecutándose, éste puede estar esperando que el usuario active alguna secuencia de instrucciones mediante la selección de algún elemento de interfaz gráfica definida para esto. Los objetos notificadores se utilizan para avisar cuando un evento ocurre. Este tiene dos requerimientos:

a. Debió haber sido registrado con una o más fuentes que reciben notificaciones sobre tipos de eventos específicos

b. Debe implementar métodos que reciban y procesen éstas notificaciones. Los métodos que reciben y procesan estas notificaciones están definidos en un grupo de interfaces encontradas en java.awt.event. Las clases que se manejan en los eventos son:

La clase Stringltem

La clase Imageltem

La clase TextField

La clase DateField

La clase ChoiceGroup

La clase Gauge 5.4 Creación de MIDlets usando API de alto nivel Las pantallas API de alto nivel heredan de la clase Screen. No ofrecen ningún tipo de control sobre su apariencia, ya que esta es responsabilidad concreta de cada dispositivo. Además, encapsulan la gestión de eventos de bajo nivel. Se pueden separar entre predefinidas (TextBox, List y Alert) a las que no se le pueden añadir componentes adicionales y genéricas (Form) que permiten la adición de componentes tales como imágenes, etiquetas de texto. Las pantallas API de bajo nivel descienden de la clase Canvas. Le ofrecen al programador un control casi absoluto sobre lo que aparece en la ventana del MID, y dan además acceso al control de eventos de bajo nivel.

Page 48: Desarrollo Aplic Mov

48

Navegación guiada por evento

Las interfaces de usuario en MID funcionan guiándose por eventos, asociados a las acciones de los usuarios.

El funcionamiento puede dividirse en las siguientes fases:

1. Creación e iniciación: en esta fase se crean y se inician los elementos de la interfaz de usuario. Se destacan las siguientes acciones realizadas:

a. Creación de pantallas: las pantallas creadas pueden ser tanto de la interfaz de alto nivel como de la de bajo nivel.

b. Creación de comandos y asignación a pantallas: se crean comandos para representar acciones de usuario, llamando al constructor de la clase Command. Los comandos se asignan a las diferentes pantallas. Por último, se asigna un manejador de eventos para cada pantalla, al que le llegarán notificaciones cuando el usuario ejecute un comando.

2. Visualización de la primera pantalla: en esta fase, se selecciona la primera pantalla que hay que mostrar al usuario, llamando al método setCurrent() del objeto Display. Esta selección se hace dentro del método startApp(), de forma que se muestre la pantalla inmediatamente después del correcto retorno de startApp().

3. Captura de eventos y toma de decisiones: tras mostrar la pantalla inicial, los MIDlet quedan a la espera de acciones que realice el usuario. Al suceder esto, el gestor de aplicaciones llama al manejador de eventos asociado a la pantalla. El manejador identifica la acción del usuario y actúa en consecuencia. En ciertos casos los eventos pueden dar paso a otra pantalla.

Una vez creado el código del MIDlet es posible su compilación ya que el entorno dispone de todas las librerías necesarias para ello. El proceso de preverificación se realiza automáticamente después de la compilación. El entorno también da la posibilidad de empaquetar el MIDlet por separado o dentro de una MIDlet suite. Por último, las fases de ejecución y depuración también se pueden realizar con una herramienta ya que permitirá ejecutar el MIDlet sobre un emulador, como lo es J2ME Wireless Toolkit.

Page 49: Desarrollo Aplic Mov

49

5.5 Manipulación de eventos en pantalla Las interfaces básicas de usuario son aquellas que incluyen elementos como menús, ventanas, teclado, ratón, los beeps y algunos otros sonidos que el dispositivo móvil hace, y en general, todos aquellos canales por los cuales se permite la comunicación entre el ser humano y el dispositivo móvil. La mejor interacción humano-máquina a través de una adecuada interfaz (Interfaz de Usuario), que le brinde tanto comodidad, como eficiencia.

Sus principales funciones son las siguientes:

Puesta en marcha y apagado. Control de las funciones manipulables del equipo. Manipulación de archivos y directorios. Herramientas de desarrollo de aplicaciones. Comunicación con otros sistemas. Información de estado. Configuración de la propia interfaz y entorno. Intercambio de datos entre aplicaciones. Control de acceso. Sistema de ayuda interactivo.

Las clases y métodos utilizados son:

El método paint()

La clase Graphics

Sistema de coordenadas

Manejo de colores

Manejo de texto

Posicionamiento del texto

Figuras geométricas

Eventos de teclado

Page 50: Desarrollo Aplic Mov

50

INTRODUCCIÓN A ANDROID

¿Qué ES ANDROID?

Page 51: Desarrollo Aplic Mov

51

Page 52: Desarrollo Aplic Mov

52

Page 53: Desarrollo Aplic Mov

53

ESTRUCTURA

Page 54: Desarrollo Aplic Mov

54

Page 55: Desarrollo Aplic Mov

55

Page 56: Desarrollo Aplic Mov

56

HERRAMIENTAS DE DESARROLLO

Page 57: Desarrollo Aplic Mov

57

Page 58: Desarrollo Aplic Mov

58

HOLA MUNDO EN ANDROID