Beruflich Dokumente
Kultur Dokumente
UD1: Anlisis de Tecnologas para Aplicaciones en Dispositivos Mviles. Profesor: Nstor Martnez
ndice
1. 2. 3. 4. 5. 6. 7. 8. 9. Dispositivos Mviles: Tipos, Historia y Evolucin. Evolucin histrica. Libreras disponibles para el desarrollo de interfaces. Herramientas para el desarrollo de interfaces. Elementos de una herramienta de desarrollo de interfaces. Componentes de una interfaz. Componentes de una interfaz. Propiedades. Componentes de una interfaz. Eventos. Cdigo generado por la herramienta de diseo.
La revolucin de los dispositivos mviles tiene tan solo 20 aos. Gran evolucin: desde la voz a la informacin inalmbrica. Uso de dispositivos mviles se ha convertido en algo cotidiano. En la actualidad podemos comunicarnos con cualquier persona, en cualquier momento y desde casi cualquier lugar.
En relativamente poco tiempo, los telfonos han recorrido un largo camino. Las tecnologas han mejorado para ofrecer al usuario una amplia gama de prestaciones.
Menor tamao en los dispositivos, mayor duracin de la batera, mayor velocidad de acceso a internet
Gracias a este avance podemos hablar de Computacin Ubicua, formulado por Mark Weiser en 1991.
La Computacin Ubicua, formulado por Mark Weiser, la defina opuesta a la realidad virtual (poner personas dentro del ordenador para generar mundos), es decir, poner el ordenador dentro del mundo de las personas. La Computacin Ubicua se fundamenta en cuatro paradigmas:
1. 2. 3. 4. Descentralizacin. Diversificacin. Conectividad. Simplicidad.
1. Descentralizacin.
Se caracteriza por el paso de la era mainframe en la que la potencia estaba centralizada, a la era PC, en la que se define la arquitectura cliente-servidor. Se empieza a hablar de sincronizacin como un aspecto fundamental para mantener los datos actualizados. Se benefici a los proveedores, pues les dio ms flexibilidad para proporcionar servicios.
2. Diversificacin.
Surge de la necesidad de ofrecer el mismo servicio, pero adaptado a diferentes dispositivos.
3. Conectividad:
Problema: integracin de plataformas. Fue necesaria la definicin de estndares y protocolos, en la que cualquier software se pudiera ejecutar sobre cualquier plataforma y red.
Importantes estndares: WAP (Wireless Access Protocol), UMTS (Universal Mobile Telecommunications System) o BlueTooth (protocolo de comunicacin para redes inalmbricas mediante radiofrecuencia).
4. Simplicidad.
Se centra en el diseo de dispositivos con interfaces de usuario intuitivas. Integracin entre el SW y el HW para lograr las necesidades del usuario final, proporcionando un acceso a los datos rpido y de forma sencilla.
3. Tecnologas disponibles.
Principales tecnologas y sistemas operativos para DM que hay actualmente:
ANDROID. BLACKBERRY. SYMBIAN. PALM OS. WINDOWS PHONE. IOS.
3. Tecnologas disponibles.
ANDROID.
Plataforma formada por un conjunto de SW en estructura de pila que incluye:
Un sistema operativo. SW para conectar aplicaciones (middleware). Aplicaciones base.
El SDK (Kit de Desarrollo de SW) de Android proporciona varias herramientas y API (Interfaz de Programacin de Aplicaciones) que son necesarias para desarrollar aplicaciones Android. Estas aplicaciones se desarrollan en lenguaje Java. Desarrollado por Open Handset Alliance (OHA), una agrupacin de 78 compaas para desarrollar estndares abiertos para dispositivos mviles y que est liderada por Google. Inicialmente desarrollado por Android Inc., que fue comprada en 2005 por Google. El SO se anunci el 5 de noviembre de 2007.
3. Tecnologas disponibles.
ANDROID.
Google libera gran cantidad de cdigo bajo una licencia Apache (licencia libre y de cdigo abierto). Empez la versin 1.0 hasta la actual 4.1 (Jelly Bean). SO con mayor presencia mundialmente, por delante de Symbian y iOS. Presenta varias ventajas:
Cdigo abierto con licencia Apache, cualquier desarrollador a parte de ver el cdigo, puede mejorarlo y ampliarlo. Libertad por parte del usuario para instalar el SW que crea oportuno en su DM sin imponer que sea SW propietario. Libertad de los desarrolladores de desarrollar SW y ofertarlo a los usuarios. No est limitado a determinados proveedores, operadoras o fabricantes, etc.
3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques:
3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques:
Aplicaciones: proporciona un conjunto de aplicaciones de usuario como cliente de correo electrnico y de mensaje de texto SMS, calendario, mapas, navegador, agenda de contactos, etc. Framework de Aplicaciones: conjunto de aplicaciones en forma de servicios y sistemas disponibles al desarrollador que le facilitan aspectos como acceso al hardware del dispositivo, acceso a informacin de localizacin, servicios de background, lanzar alarmas y notificaciones, etc. Alguno de ellos son,
Sistema de Visualizacin (View System), que facilita el desarrollo de aplicaciones con potentes interfaces de usuario. Suministrador de Contenidos (Content Providers), gestiona el acceso a datos entre aplicaciones. Gestor de Fuentes (Resource Manager), gestiona el acceso a fuentes que no son de la aplicacin como imgenes, texto, etc. Gestor de Actividades (Activity Manager), gestiona el ciclo de vida de las aplicaciones, etc.
3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques: (continuacin)
Libreras (Libraries): Android incluye un conjunto de libreras C/C++ que usan otros mdulos del sistema operativo y estn accesibles a los desarrolladores de aplicaciones a travs del Framework de Aplicaciones. Algunas de estas libreras incluyen funcionalidades como la librera estndar de C para dispositivos embebidos Linux (System C library), funcionalidades multimedia para vdeo, audio e imagen (Media Libraries), visualizacin de grficos 2D y 3D (Surface Manager), funcionalidades par optimizar el tratamiento de grficos 3D (3D Libraries), motor de navegacin web que da soporte al navegador web de Android (LibWebCore), motor de base de datos relacional (SQLite), etc.
3. Tecnologas disponibles.
ANDROID.
Entorno de Ejecucin (Android Runtime): el entorno de ejecucin est formado por las libreras del ncleo del sistema operativo (Core Libraries) y por la mquina virtual (Dalvik Virtual Machine). Es el motor que ejecuta los programas. El mdulo Core Libraries proporciona muchas de las funciones disponibles en la librera base de Java as como funciones especficas de Android. La mquina virtual Dalvik se encarga de interpretar el cdigo del programa y de ejecutarlo apoyndose en el Kernel del sistema operativo. Cada aplicacin pone en ejecucin su propio proceso, el cual tiene asociado una instancia propia y exclusiva de la mquina virtual Dalvik. Dalvik ha sido desarrollada de tal forma que puede haber mltiples mquinas virtuales (MV) ejecutndose a la vez en un mismo dispositivo (precisamente sta fue la razn por la que no se utiliz la MV de Java ME, Java Mobile Edition). Dalvik es una mquina virtual basada en registros y ejecuta ficheros de cdigo con un formato especial, denominado Ejecutable Dalvik (ficheros con extensin .dex). Este formato est especialmente pensado para optimizar el uso de la memoria. No obstante, esto no significa que no podamos usar un compilador de Java para desarrollar aplicaciones para esta MV. Dalvik es capaz de ejecutar clases compiladas por un compilador de Java siempre que hayan sido transformadas previamente al formato .dex por herramientas de poscompilacin (dx tools).
3. Tecnologas disponibles.
ANDROID.
La arquitectura de SO Android, organizado en 4 grandes bloques: (continuacin)
Linux Kernel: Android se basa en la versin 2.6 de Linux para implementar servicios bases de sistema como seguridad, gestin de memoria, gestin de procesos, pila de red y varios drivers, etc., todos ellos integrados en el Kernel. El Kernel tambin constituye una capa de abstraccin entre el hardware del dispositivo y el resto de los componentes y mdulos de la pila de software del sistema operativo.
3. Tecnologas disponibles.
BLACKBERRY.
Desarrollado por RIM (Research in Motion). Los DM Blackberry destacan por su capacidad de enviar y recibir correo electrnico. Blackberry asuma un 2,9% de los mviles vendidos, y el 11% de los smartphone. Su mayor mercado est en EE.UU. El SO Blackberry OS fue desarrollado por RIM. Sistema propietario. No hay informacin pblica relevante sobre su diseo ni arquitectura. ltima versin Blackberry OS 7.1. Tiene un kernel que se basa en Java. Divide la memoria del dispositivo en 3 secciones:
Memoria de aplicacin: espacio de memoria destinado para albergar aplicaciones. Memoria de dispositivo: espacio para almacenar ficheros y otras fuentes. Memoria para tarjeta: espacio de almacenamiento adicional.
3. Tecnologas disponibles.
SYMBIAN.
Symbian Inc. desarroll el SO base y les vendi la licencia a los distintos fabricantes de telfonos mviles. Estos a su vez construyen interfaces de usuario sobre este SO base y personalizan el sistema para propsitos especficos. Nokia es el que ms ha utilizado este SO. Varias versiones que denomina Series (Serie60, Serie70, ). Sony Ericcson tambin usa Symbian. Al haber muchas combinaciones de SO y UI, tambin hay muchos kits de desarrollo (SDK). Normalmente el entorno de desarrollo viene preparado para estar programado en C o C++ y aporta el emulador de la Serie.
3. Tecnologas disponibles.
PALM OS (webOS).
Desarrollado por la empresa Palm Inc, la cual tuvo gran auge con sus agendas electrnicas o PDA. Comenz su actividad en 1996. SO fcil de usar con pantallas tctiles e interfaces de usuario grficas. Gran evolucin de versiones (desde la 1.0 hasta la 5.0). Luego pas a llamarse Palm OS Cobalt, SO basado en Linux que evolucion para denominarse webOS en 2009. Palm Inc. fue adquirida por HP en 2010. HP utiliza webOS en sus DM y tablets. Diciembre 2011, HP libera el cdigo de webOS y en la actualidad es un sistema de cdigo abierto.
3. Tecnologas disponibles.
WINDOWS PHONE.
Lanzado a finales del ao 2010. Interfaz de usuario Metro, basada en la utilizacin de mosaicos dinmicos que muestran informacin til al usuario. Windows Phone no es un sistema centralizado solamente en aplicaciones sino que se organiza en un nuevo concepto denominado hubs. Los hubs de Windows Phone clasifican acciones y agrupan las aplicaciones que se correspondan con una actividad determinada. Ejemplos: hubs de contactos, imgenes y cmara, Office (menos Outlook), juegos y el Marketplace. Las aplicaciones de terceros se pueden integrar en el hub que corresponda mejorando las funciones de cada hub. Ejemplo: un editor de fotos podra incorporarse al hub de Imgenes y Cmara. Ha evolucionado en poco tiempo, desde la versin 7 hasta la 8.
3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo de HW: Se requieren unas caractersticas mnimas.
3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo SW: Windows Phone se basa en el Windows CE 6.0 R3. Soporta Flash Lite de forma nativa. La Shell y la plataforma de aplicaciones residen en memoria de usuario.
El Kernel, los drivers y el sistema de archivos, networking, el sistema de rendering y grficos y el sistema de actualizaciones, residen en el espacio de Kernel. El sistema es de 32 bits, con lo cual maneja 4 GB de memoria, dos de los cuales son para procesos y los otros dos para el Kernel.
3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo de aplicacin: las aplicaciones en Windows Phone se muestran en forma de paquetes XAP. Este es un archivo comprimido que contiene los recursos originales de la aplicacin que estamos desarrollando. Para instalar hay que hacerlo a travs del Marketplace (tienda oficial de Microsoft).
3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Modelo de IU: La interfaz de usuario est formada por:
Elementos: todo control que se muestra al usuario. Pginas: Una asociacin lgica de elementos. Sesiones: Conjunto de interacciones que realiza un usuario sobre la aplicacin.
3. Tecnologas disponibles.
WINDOWS PHONE.
Arquitectura de Windows Phone (desde el punto de vista HW y SW):
Ejecucin de aplicaciones: Windows Phone proporciona dos frameworks:
Silverlight: Permite crear aplicaciones multimedia que se ejecuten de forma nativa en Windows Phone. XNA: Es una solucin Multiscreen 2D y 3D que permite crear juegos de calidad profesional. Ambos frameworks se ejecutan sobre sandbox en .NET.
3. Tecnologas disponibles.
WINDOWS PHONE.
Frameworks para Windows Phone: Silverlight
3. Tecnologas disponibles.
IOS.
Evolucin histrica:
3. Tecnologas disponibles.
IOS. La arquitectura iOS se basa en capas, donde las capas ms altas contienen los servicios y las tecnologas indispensables para el desarrollo de aplicaciones y las capas ms bajas son las encargadas de controlar los servicios bsicos.
3. Tecnologas disponibles.
IOS. La arquitectura iOS se basa en capas:
Cocoa Touch: posee 3 frameworks:
UIKit: contiene todas las clases necesarias para el desarrollo de una interfaz de usuario. Foundation Framework: define clases bsicas de acceso, manejo de objetos y Servicios del SO. Estos frameworks proporcionan la API de Cocoa para desarrollar aplicaciones.
3. Tecnologas disponibles.
IOS. La arquitectura iOS se basa en capas: (continuacin)
Media: esta capa proporciona los servicios grficos y multimedia a la capa superior. Core Services: esta capa proporciona los servicios fundamentales del sistema utilizados por todas las aplicaciones. Core OS: en esta capa se encuentran servicios de bajo nivel como los archivos de memoria, manejo de memoria, seguridad y drivers del dispositivo.
3. Tecnologas disponibles.
Sistemas Operativos:
3. Tecnologas disponibles.
3. Tecnologas disponibles.
Sistemas Operativos:
3. Tecnologas disponibles.
Actividad: Busca qu lenguaje o lenguajes de programacin usa cada Sistema Operativo mencionados anteriormente y define sus caractersticas. Tambin comenta qu IDEs usan. Actividad: Realizar la primera prctica ETSINF.
Todas estas consideraciones afectan al diseo y se deben tener en cuenta para cualquier DM.
Es una extensin orientada a objetos de la sintaxis de programacin C, utilizado en Mac OSx. Es recomendable saber C y C++, Java o C#. En iPhone no existe el recolector de basura, aunque el Objective-C 2.0 incluye, pero iPhone no lo soporta. Tiene elementos comunes con el lenguaje C: sentencias de control (if, for, while, etc.); tipos de datos fundamentales; estructuras y punteros; conversiones explcitas e implcitas entre tipos; etc. Las clases en Objective-C se crean mediante dos archivos: un .h para definirla y un .m para implementarla. Permite crear clases, mtodos y funciones. Destaca por ser un lenguaje dinmico (se puede escribir y ejecutar el cdigo de un programa al mismo tiempo, de hecho no es necesario compilar el programa para ejecutar el cdigo, se puede seleccionar una lnea de cdigo y ejecutarla sin necesidad de compilar todo el programa).
Se puede utilizar cualquier IDE (el ms usado Eclipse). Si se decide prescindir de un IDE se necesita nicamente un editor de texto para escribir el cdigo fuente e invocar las herramientas de compilacin, depuracin, etc., desde la lnea de comandos o mediante scripts.
Instalacin: se instala el entorno de desarrollo completo incluyendo el IDE y el SDK de Android, y se crean AVD (Android Virtual Device). Desarrollo: en esta etapa se crea y desarrolla el proyecto Android, creando el cdigo fuente de la aplicacin y aadiendo todos los ficheros fuentes que pueda necesitar como imgenes o dems recursos. Depuracin y pruebas: en esta etapa, en primer lugar se genera un paquete de depuracin .apk que contiene el proyecto desarrollado en la etapa anterior. Este paquete se puede instalar y arrancar en cualquier emulador o telfono Android. Si se usa Eclipse, cada vez que se guarda el proyecto automticamente se genera el .apk correspondiente. A continuacin se depura la aplicacin usando un depurador JDWP y las herramientas debug del SDK Android. Eclipse proporciona su propio depurador. Por ltimo, se comprueba el correcto funcionamiento de la aplicacin usando varias herramientas del SDK como emuladores y herramientas de traza. Publicacin: en esta ltima etapa se configura y se construye la aplicacin para generarse una versin release (una versin de entrega) para distribuir entre los usuarios.
Mirar fotocopias (Pginas 39, 40 y 41 del libro). Prctica Instalar todo lo necesario para desarrollar para Android.
A parte del tipo tambin podemos hablar del estilo (aplicaciones productivas, tiles (el tiempo), de pantalla completa (juegos)).
De esta forma nos aseguramos de que la aplicacin que vamos a mandar al Marketplace funciona correctamente.
Emuladores para Android Actividad: Instalar un emulador de Android en Eclipse, crear un dispositivo virtual de Android e instalar aplicaciones, definir caractersticas, etc. Actividad: Instalar un emulador de Google Android Emulator e instalar aplicaciones, definir caractersticas, etc.
Emulador para Blackberry Hay varios simuladores BlackBerry disponibles para emular la funcionalidad de varios productos como dispositivos BlackBerry y BlackBerry Enterprise Server. Dentro de los simuladores para dispositivos BlackBerry se pueden encontrar dos principales emuladores: BlackBerry PlayBook Simulators, para desarrollos de aplicaciones para dispositivos PlayBook, y BlackBerry Smartphone Simulators, para dispositivos mviles smartphone. Estos simuladores permiten testear el software, pantallas, teclados, etc. Se puede descargar el programa .exe para Windows, o suele estar integrado en JDE de Blackberry.
Emulador para Symbian Cada uno de los entornos de desarrollo suele llevar incorporado su propio emulador o utiliza los que proporcionan los SDK de las diversas series de Symbian. Los emuladores permiten seleccionar las caractersticas del modelo a emular, de esta forma podemos ver como se adapta, sobre todo la interfaz grfica a las diversas resoluciones y tamaos de pantalla de los diferentes dispositivos.
Emulador para Palm OS (WebOS) Los emuladores actuales para la plataforma webOS van incluidos dentro del entorno de desarrollo SDK, permiten emular diversas configuraciones y resoluciones de pantalla. Se pueden ejecutar desde el propio entorno de desarrollo Ares pero es necesario tener instalado en local el SDK.
Emulador para iPhone El emulador iOS permite comprobar funcionamiento de la aplicacin. Ofrece funcionalidades como:
el
correcto
(i) rotacin, cuando gira el dispositivo la aplicacin rota con l; (ii) cambio de dispositivo, permite comprobar el funcionamiento de la aplicacin tanto en un iPhone como en un iPad; (iii) comprobar el funcionamiento de la aplicacin para diferentes versiones del iOS; (iv) avisos de memoria, permite comprobar el funcionamiento de la aplicacin dependiendo del consumo de recursos.
Emulador para Windows Phone El kit de desarrollo de Windows Phone incluye un emulador que nos permitir simular las aplicaciones en condiciones similares a las que encontraremos al ejecutarlas en nuestro dispositivo. Lo podemos lanzar desde el Visual Studio 2010 o desde Inicio> Programas. El emulador nos permitir tambin probar aplicaciones que utilicen sensores (acelermetro) o que dependan de la localizacin.
Emulador de GPS.
7. Arquitectura J2ME.
J2ME o Java 2 Micro Edition es la versin Java para dispositivos mviles y sistemas de pequeo tamao. J2ME pertenece a la versin 2 de Java que est compuesta por tres ediciones distintas:
Edicin Estndar (J2SE): este es el entorno bsico de Java, est compuesto por las clases bsicas de Java, que nos permiten desarrollar y ejecutar aplicaciones cliente, servidor y applets. Edicin Empresarial (J2EE): es una ampliacin de la edicin anterior y est pensada para el desarrollo de aplicaciones servidor. Edicin Micro (J2ME): es una versin reducida de Java que permite desarrollar aplicaciones para sistemas mviles, empotrados (ej. Tarjeta de vdeo, funciones especficas) y electrnicos de caractersticas especiales.
Las aplicaciones en esta edicin se denominan MIDlets por analoga con los applets.
7. Arquitectura J2ME.
7. Arquitectura J2ME.
7. Arquitectura J2ME.
Los dispositivos donde se ejecuten las aplicaciones con configuracin CLDC deben cumplir las siguientes restricciones:
Disponer de entre 128 KB y 512 KB de memoria ROM o flash donde se almacena la propia mquina virtual y de 32 KB de memoria voltil (se pierde al interrumpirse la energa elctrica) para guardar informacin en tiempo de ejecucin. Procesador de 16 32 bits con al menos 25 MHz de velocidad. Bajo consumo, debido a que suelen estar alimentados por batera. Tener algn tipo de conectividad como Wi-Fi, 3G, etc.
Sobre las configuraciones se definen perfiles. Un perfil es una concrecin todava ms restrictiva de las APIs, que se centra en un conjunto muy limitado de dispositivos (incluso solo uno). O sea, el perfil aade unas APIs que definen las caractersticas propias de un dispositivo, mientras que la configuracin lo hace con una familia de dispositivos. Esto hace que para construir una aplicacin contemos tanto con las APIs del perfil como con las de la configuracin. CLDC es la primera configuracin definida en J2ME. MIDP (de Mobile Information Device Profile, o "Perfil de Dispositivo Mvil de informacin") es el primer perfil, que describe dispositivos similares a telfonos mviles. En el caso de la configuracin CLDC, se definen los perfiles para dispositivos de informacin mvil o MIDP. MIDP nos proporciona un perfil que se apoya en CLDC y que nos va a proporcionar los paquetes y clases necesarios para el desarrollo de nuestras aplicaciones.
Para tenerlo bien claro diremos que una configuracin es el conjunto mnimo de APIs Java que permiten desarrollar aplicaciones para un grupo de dispositivos. stas APIs describen las caractersticas bsicas, comunes a todos los dispositivos:
Caractersticas soportadas del lenguaje de programacin Java. Caractersticas soportadas por la Mquina Virtual Java. Bibliotecas bsicas de Java y APIs soportadas.
Un perfil es un conjunto de APIs orientado a un mbito de aplicacin determinado. Los perfiles identifican un grupo de dispositivos por la funcionalidad que proporcionan (electrodomsticos, telfonos mviles, etc.) y el tipo de aplicaciones que se ejecutarn en ellos. Las libreras de la interfaz grfica son un componente muy importante en la definicin de un perfil.
El perfil establece unas APIs que definen las caractersticas de un dispositivo, mientras que la configuracin hace lo propio con una familia de ellos. Esto hace que a la hora de construir una aplicacin se cuente tanto con las APIs del perfil como de la configuracin. Tenemos que tener en cuenta que un perfil siempre se construye sobre una configuracin determinada. De este modo, podemos pensar en un perfil como un conjunto de APIs que dotan a una configuracin de funcionalidad especfica.
Telfonos mviles, organizadores, pagers y otros dispositivos de pequeo tamao tienen diferentes formas, funcionalidades y caractersticas. Sin embargo poseen cantidades de memoria y procesadores similares. Por este motivo surgieron las configuraciones en J2ME. Las configuraciones definen un agrupamiento horizontal de productos basados en la cantidad de memoria disponible y la capacidad de procesamiento de cada dispositivo.
J2ME utiliza los perfiles para definir agrupamientos verticales para los productos en la plataforma Java. A nivel de implementacin, un perfil es un conjunto de APIs que residen sobre una configuracin y permite al programa el acceso a un dispositivo especfico.
Los MIDlets son aplicaciones que se ejecutan sobre dispositivos mviles. Generalmente son juegos y aplicaciones que corren en un telfono mvil. Est desarrollada bajo la especificacin MIDP. Un midlet ser una aplicacin que puede usar la funcionalidad aportadas por MIDP y por CLDC. Un midlet siempre estar compuesto, al menos, por una clase principal que hereda directamente de la clase javax.microedition.midlet.MIDlet. Como los applets de Java los MIDlets tienen un ciclo de vida como aplicacin cuando estn ejecutndose en un dispositivo mvil.
Los MIDlets se ejecutan dentro de un entorno proporcionado por el Gestor de Aplicaciones o AMS (Application Management Software). AMS es un programa que adems de guardar las aplicaciones desarrolladas para J2ME contiene la implementacin de la KVM, CLDC y el MIDP. Todos los dispositivos que permiten J2ME tienen un Gestor de Aplicaciones, que suele venir como una aplicacin independiente. El Gestor de Aplicaciones no puede ejecutar los MiDlet directamente, estos deben venir empaquetados en archivos .jar que contienen uno o varios MIDlets as como un archivo .jad que describe cada uno de ellos, indicando nombre, recursos que necesita, fabricante, fecha de creacin, etc. El AMS define el ciclo de vida de los MIDlets, que pasa por 5 fases: localizacin, instalacin, ejecucin, actualizacin y borrado. El MIDP define los tres estados en los que se puede encontrar un MIDlet cuando est en ejecucin: Activo, Pausa y Destruido.
A continuacin vamos a mostrar paso a paso el desarrollo de la primera aplicacin para mviles en el entorno J2ME con el IDE NetBeans 7.1. Vamos a la opcin de men File > New Project y seleccionamos Java ME como muestra la siguiente figura.
Hacemos clic sobre el botn Next y a continuacin nos sale la siguiente ventana de dilogo donde vamos a indicarle el nombre del proyecto en el campo de texto Project Name, ah pondremos ProyectoHolaMundo y haremos clic en el botn Next de esta ventana de dilogo.
La siguiente ventana llamada Default Platform Selection la dejamos tal cual, y hacemos clic en el botn Next de nuevo. Pasamos a la pantalla More Configuration Selection, donde tampoco cambiamos nada y hacemos clic en el botn Finish. A partir de este momento el entorno crear un proyecto funcional pero vaco y con nuestra aplicacin como aplicacin principal, como muestra la siguiente figura.
Vamos a pulsar sobre la etiqueta Screen y nos aparecer un editor que nos permite cambiar elementos visuales del dispositivo, vamos a cambiar el texto Hello por Hola y Helo World! Por Hola Mundo. Para ello nos vamos a los campos Label y Text del dilogo de propiedades que es el que hay abajo a la derecha llamado Properties.
Ahora solo falta ejecutar nuestro primer proyecto, para ello solo hay que pulsar la tecla F6 o ir a la opcin de men Run > Run Main Project o hacer clic en el icono verde de Play que hay en la barra de herramientas en el centro superior de la pantalla. En cualquiera de estos casos comenzar a ejecutarse el emulador y nos mostrar nuestra primera aplicacin para mviles. Todo ello sin teclear una sola lnea de cdigo Java.
Por ltimo, si dispones de un telfono mvil con gestor de aplicaciones para J2ME puede pulsar sobre el proyecto con el botn de la derecha del ratn, seleccionar la opcin Batch Delploy y se generar un archivo llamado ProyectoHolaMundo.jar que puede enviar a su mvil y se instalar automticamente con el gestor de aplicacin y podr ejecutarlo cuando desee.