Programacion NetBeans y Java ME (JME)





Java Micro Edition y Programacion NetBeans

 

Programacion NetBeans y Java ME (JME)

Programacion NetBeans y Java ME (JME)

Programación para teléfonos móviles

Inicialmente surgieron juegos muy básicos, como por ejemplo el clásico de Snake ó Serpiente, en donde se recolectaban esferas, o cuadrados, en un escenario, además de aplicaciones como editores de texto entre otras. Sin embargo surgió un problema, habían muchos fabricantes de celulares, con muchos modelos, y cada uno con maneras de programar (lenguajes de programación) diferentes, lo cual hacía imposible tener el mismo juego, sin cambiar su código (instrucciones del lenguaje), en diferentes dispositivos.

 

Esto provocó que Sun Microsystems junto con un buen número de fabricantes de dispositivos móviles unieran esfuerzos, alrededor del año 2000, para obtener un conjunto de librerías de componentes (clases) para conformar un subconjunto del lenguaje de programación Java 2 ó simplemente Java (el cual fue hecho por Sun y se usa para aplicaciones de PC, Web, etc.) que sirviera para los aparatos existentes (celulares, Asistentes Digitales Personales-PDA, etc.) y por venir (la nueva generación de N-Gage de Nokia, etc.), y que además los programas desarrollados con él fueran ejecutables (usables) en al menos el mismo tipo de dispositivo sin necesidad de cambiar su código. Esto tuvo como resultado al lenguaje de programación Java 2 Micro Edition (J2ME) que hoy se conoce como Java Micro Edition (Java ME ó JME) y es soportado por la gran mayoría de móviles actuales.

 

Java ME ahora es una opción muy popular para la creación de juegos, debido a que estos son más fáciles de desarrollar, probar y distribuir que los de otras plataformas especializadas, como las consolas modernas, especialmente porque estas requieren kits de hardware y software en ocasiones muy costosos, mientras que un computador sin muchas capacidades puede funcionar como un celular con la ayuda de un software sencillo (emulador).

Java Micro Edition (Java ME ó JME)

Para asegurar la afinidad entre los mismos tipos de dispositivos (celular a celular, PDA a PDA, etc.) se crearon configuraciones y perfiles, los cuales determinan la compatibilidad o no de los programas, pues cada dispositivo implementa una configuración y esta define que perfiles se pueden soportar por dispositivo, siendo estos últimos los que ejecutan sus aplicaciones correspondientes, es decir un juego hecho para un perfil no funciona en otro.

 

En los celulares, la configuración es Connected Limited Device Configuration (CLDC-Configuración de Dispositivos con Conectividad Limitada), pues su conexión a las redes de datos, como Internet, no es muy veloz, y el perfil es Mobile Information Device Profile (MIDP-Perfil de Información de Dispositivos Móviles), siendo este para el que se desarrollan los juegos. En la Figura 1 se muestra el juego Zelda Mobile en un emulador de celulares con MIDP.

 

Cabe anotar que existen dos versiones de CLDC: la 1.0 que no tiene soporte para números con decimales (números con punto o coma flotante) y la 1.1 que sí lo incluye;  del MIDP también hay dos versiones: la 1.0 que no tenía una librería de componentes propia para juegos 2D ni para reproducir música ni videos, las cuales debían hacerlas cada programador por su cuenta o las daban algunos fabricantes de celulares, y la versión 2.0 que ya incluía las librerías mencionadas. Los celulares posteriores al 2002 ya incluyen, en su mayoría estas últimas versiones.

 

Otros dispositivos móviles emplean otras configuraciones con otros perfiles, lo cual hace imposible que se ejecute cualquier aplicación hecha para MIDP (conocida como MIDlet) en otros aparatos. Sin embargo esa situación ha venido cambiando con el tiempo, pues, inclusive, ya hay PDAs que están saliendo de fábrica soportando MIDP, sin dejar de lado sus configuraciones propias, haciendo posible usar MIDlets en estos.

 

Sin embargo, para los que no han incluido el soporte de MIDP, o ni siquiera soportan Java ME, como es el caso de los celulares y PDAs con sistemas operativos Windows Mobile y Windows Compact Edition-CE (Pocket PC) respectivamente, ya se ofrecen herramientas hechas por otros desarrolladores y/o compañías que no solo soportan sus correspondientes configuraciones y perfiles sino también el tan mencionado MIDP, en sus dos versiones. La Figura 2 muestra el juego Zelda Mobile en un emulador de PDA con Pocket PC 2003.

Paquetes opcionales

Las empresas involucradas en el desarrollo y actualización de Java ME forman parte del Java Community Process (JCP). Cada trabajo de esta organización se conoce como Java Specification Request (JSR), por ejemplo el MIDP 1.0 corresponde al JSR 37, mientras que el 2.0 al JSR 118.

 

La JCP ha desarrollado también paquetes opcionales que contienen librerías de componentes (conocidas también como APIs) adicionales para ofrecer utilidades extra a las de los perfiles a los que van destinados. Entre los más conocidos para MIDP están:

Java APIs for Bluetooth Wireless Technology: para conexiones por Bluetooth.

Mobile 3D Graphics Optional Package: para tener gráficos en tercera dimensión (3D).

Wireless Messaging API: ofrece el envío y recepción de mensajes de texto (SMS).

Entre muchos otros…

 

NetBeans

Cada lenguaje de programación tiene sus Entornos de Desarrollo Integrados  (IDE por sus siglas en inglés), los cuales son programas que proveen de todo lo necesario para desarrollar aplicaciones usando uno o varios lenguajes de programación, y Java ME no es la excepción.

 

NetBeans es un IDE gratuito (en inglés) para Java SE (Standard Edition, el original), pero se ha convertido en uno de los IDE más populares para Java ME, pues al agregarle su paquete móvil para dispositivos CLDC, este no solo provee las librerías del lenguaje, sino también un conjunto de emuladores de celulares con MIDP hechos por Sun Microsystems, el cual también se puede encontrar aparte como Sun Wireless Toolkit (WTK).

 

También es posible añadir otros emuladores de dispositivos CLDC, como nuevas versiones del WTK ó de fabricantes específicos como Nokia y Sony Ericsson, e inclusive NetBeans tiene un paquete móvil para dispositivos con la configuración CDC (Configuración de Dispositivos Conectados) la cual se encuentra en aparatos de mayor poder y velocidad de navegación en Internet, como las ya mencionadas PDA.

 

 

Instalación

NetBeans requiere que previamente se tenga instalado el Java Development Kit (JDK), preferiblemente en una versión igual o superior a la 5.0, para su instalación. Este se puede descargar gratuitamente en http://java.sun.com/javase/downloads/index.jsp, y su instalación consiste en seguir los pasos indicados en la pantalla. Es de notar que en esta página se encuentra una versión del JDK 6.0 que incluye también NetBeans y en lo único que difiere con respecto a las demás es su mayor peso y el momento de preguntar por la ubicación de las carpetas en las que se instalará cada uno, el cual ocurre al mismo tiempo.

 

Obtener NetBeans de forma separada es posible en http://www.netbeans.org. Al inicio de su instalación se pedirá la ubicación del JDK instalado, aunque generalmente ya aparece seleccionada en la pantalla; lo demás es sólo seguir instrucciones.





 

En http://www.netbeans.org también puede descargarse el paquete móvil para dispositivos CLDC (si no viene ya con el IDE) y durante su instalación se pedirá ubicar la carpeta donde se instaló NetBeans aunque, al igual que al instalar el IDE, esta ya aparece en pantalla.

 

Luego de completar las instalaciones es posible hacer una pequeña prueba. Para ello debe iniciarse NetBeans y crear un Nuevo Proyecto (File-New Project), esto abre una ventana en donde, en la parte de Categorías (Categories), se expanden las carpetas Simples-Mobile-MIDP 2.0 Samples, y en la parte de Proyectos (Projects) se selecciona Varios Games for MIDP 2.0

 

 

Posteriormente aparece otra ventana, esta vez preguntando por el Nombre del Proyecto (Project Name), por su ubicación (Project Location) y un cuadro con una indicación de señalado que indica si el Proyecto es Principal (Set as Main Project), el cual debe quedar seleccionado, pues sólo se ejecuta el proyecto principal. Para la ubicación de los proyecto se recomienda tener una carpeta propia para estos.

 

Lo último es seleccionar la Plataforma de Emuladores (Emulator Platform), el dispositivo, la configuración y el perfil. Esto puede dejarse tal y como aparece, de esta manera se cargan dos juegos muy simples y de muestra que trae este paquete móvil, dejando una vista como la que se muestra en la Figura 5. Hay que recordar que los juegos hechos en Java ME pueden ser más entretenidos y con mejores gráficos.

 

 

 

La letra negrilla en el título del proyecto indica que este es el principal. La ventana de Bienvenida (Welcome) puede cerrarse.

 

Para ejecutar el proyecto se puede presionar Run  ó  Debug  Main Project, los cuales corren (ejecutan) y depuran (inspeccionan) el código del proyecto principal respectivamente. Como en este caso no se está evaluando el código, se recomienda sólo correrlo pues es la emulación inicia más rápido. Cuando esta comienza se muestra la imagen de un celular, como se ve en la Figura 6.

 

Este es controlable a través del Mouse y del teclado del computador y la forma de interactuar con él es igual a la de un celular, por ejemplo para iniciar un juego se puede presionar el botón cuadrado más grande o el de la esquina superior derecha (debajo de la indicación Launch). Para volver a esa pantalla se oprime el botón en forma de teléfono colgado (END ó Fin en algunos celulares).

 

 

 

Agregar otros emuladores

Si el paquete móvil viene con una versión de WTK inferior a la disponible en http://java.sun.com/products/sjwtoolkit/overview.html se recomienda que se descargue y se instale esta para agregarla a NetBeans, aunque desde la versión 2.5.1 se podría considerar aceptable, pues la 2.5 presentaba ciertos problemas con la reproducción simultánea de archivos MIDI (música de fondo) y WAV (efectos especiales).

 

Si el fabricante del celular que se tiene ofrece su propia versión de Wireless Toolkit, esta también puede adicionarse al IDE de la misma manera. Como ejemplo se mostrará el Sony Ericsson SDK 2.2.4 for the Java(TM) ME Platform, que se puede descargar en Java ME Platform Docs & Tools y cuya instalación no es difícil; lo único a tener en cuenta es que se pedirá instalar SPOT xde® Player DLL, lo cual se requiere para que los emuladores funcionen y además reproduzcan archivos 3GP, MPEG4, AMR y MP3.

 

Una vez finalizada la instalación, ya en NetBeans, se selecciona Tools-Java Platform Manager, lo cual abre una ventana (o diálogo en este caso) que muestra las plataformas de desarrollo integradas al IDE, como en la Figura 7.

 

Se presiona Add Platform lo cual muestra otro diálogo, donde se elige Java Micro Edition Platform Emulator y luego Next para continuar. Ahora aparece una lista de plataformas encontradas, de las cuales se seleccionan las que se deseen integrar al IDE, en este caso todas, y luego Next. Finalmente se llega al diálogo de confirmación de integración y se oprime Finish.

Para cambiar la plataforma con la cual se emula un proyecto basta con dar clic derecho sobre este y seleccionar Propiedades (Properties), luego, en Platform, se selecciona Sony Ericsson SDK 2.2.4 for the Java(TM) ME Platform (Emulator) y como Dispositivo (Device) SonyEricsson_W800_Emu, como se ve en la Figura 8. Si el nombre de la plataforma no es visible, el diálogo puede cambiarse de tamaño con el clic derecho del Mouse en sus bordes laterales. La Figura 9 muestra la emulación con ese celular.

 

Instalar Juegos en el Celular

Los archivos para llevar a la memoria del celular, ya sea mediante Bluetooth o cable USB, se ubican en la carpeta dist, la cual se encuentra en la carpeta del proyecto, en caso de olvido, esta puede verse en el diálogo de Propiedades, opción General.

 

En esta carpeta hay dos archivos, uno con extensión (terminación) .JAR (Java ARchive) y el otro .JAD (JAva Descriptor). El JAR es la aplicación como tal, mientras que el JAD contiene una pequeña información, que puede ser editada en el mismo diálogo de Propiedades, opción Attributes. Sin embargo, algunos celulares ya no requieren este archivo, pues estos mismos datos se encuentran en un archivo interno del JAR. Debe tenerse en consideración de que algunos dispositivos tienen un límite para el tamaño que ocupa en disco el JAR; este tamaño puede ser consultado en las páginas de información de paquetes opcionales. Una vez copiado(s) el(los) archivo(s) en el móvil sólo resta ejecutarlos.

 

 

Probar Juegos en Emuladores

Si se tienen tanto el JAD como el JAR, ambos con el mismo nombre a excepción de sus extensiones, e igual ubicación, y se tiene un Wireless Toolkit (como ejemplo se sigue usando el de Sony Ericsson), sólo debe seleccionarse Inicio-Sony Ericsson-Java ME SDK for CLDC-WTK2 (el 1 es MIDP 1.0)-Run MIDP Application. Esto permite la búsqueda de los archivos y la consecuente emulación. El celular emulado puede cambiarse en Inicio-Sony Ericsson-Java ME SDK for CLDC-WTK2 (el WTK1 es MIDP 1.0)-Default Device Selection.

 

Si sólo se tiene el JAR y/o no se tiene un Wireless Toolkit, debe crearse en NetBeans un proyecto Mobile Application (categoría Mobile), con cualquier nombre. Cuando se aparezca un cuadro de selección con Crear Hello MIDlet este no debe quedar seleccionado. Ya con el proyecto cread, en el diálogo de Propiedades, opción Librerías y Recursos (Librares and Resources) se oprime Add Jar/Zip y se selecciona el JAR deseado, y en la opción MIDlets se presiona Add, esto muestra otro diálogo (Figura 10) donde generalmente aparece ya la clase (componente) MIDlet a usar y una lista de imágenes de las cuales se debe elegir una para que sea el icono que se en el celular (a veces no se usa). El nombre puede ser cualquiera.

 

Esta información está disponible en el JAD, que se puede abrir con el Bloc de Notas, y también en el interior de JAR, para abrirlo se requiere usar un programa para comprimir/descomprimir archivos, como WinRAR, que abra el archivo.

 

Dentro de la carpeta META-INF se encuentra el archivo MANIFEST.MF, el cual puede abrirse con cualquier editor de texto (Bloc de Notas, WordPad, etc.), y debe tener una línea similar a esta:

MIDlet-1:  Zelda, /Images/Icon.png, Zelda

En donde lo que está entre MIDlet-1: y la primera coma (,) es el nombre de la aplicación (juego), en la mitad está el archivo que sirve como icono y al final el nombre del componente MIDlet.

 

Con esto el juego queda listo para probarse en el emulador del celular que se desee.





También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *