Java en tu movil con J2ME

1
52339

J2ME, Desarrollo Java para Dispositivos Moviles

Cada dia prolifera más (y más que lo tiene que hacer) el uso de
dispositivos moviles (telefonos, pda´s, etc).

Desarrollo específico

Esto dispositivos, al tener menores dimensiones, tambien disponen de menores
capacidades técnicas (velocidad de la CPU, memoria, etc) por lo tanto el
desarrollo de aplicaciones en estos dispositivos requiere del uso de lenguajes y
técnicas distintas de las de aplicaciones tradicionales.

Una de los estandartes de Java en ….. compilar en un sitio y ejecutar en
cualquiera (usando una traducción más o menos libre). Esto es posible gracias a que
cuando construimos un programa Java y lo compilamos, generamos un código
binario neutro que corre sobre una máquina virtual, que esta disponible para la
mayoria de las plataformas actuales o por lo menos para todas las más
extendidas y utilizadas.

Restricciones

En el caso concreto de querer utilizar Java para desarrolla aplicaciones para
dispositivos móviles y teniendo en cuenta las restricciones que hemos comentado
anteriormente ….. no todas las caracteristicas de Java pueden aplicarse a
dispositivos moviles (además muchas no tendrian demasiado sentido)

Lo mejor, es leerse la especificación y descubrir que es lo que esta
soportado y no soportado.

Tambien  hay que tener en cuenta que estos dispositivos no se encuetran
normalmente conectados a una red y que debido a su inferior capacidad de
procesamiento, no será posible realizar tareas que se realizan de un modo
natural en una aplicación Java en un servidor u ordenador de sobre mesa. Un
caso concreto es la verificación del ByteCode (el código binario que generamos
al compialar un programa Java) que ya no se puede hacer según se carga ….. no
tenemos tanta capacidad de proceso.

Otro elemento interesante a tener en cuenta es que no tiene demasisado
sentido construir las aplicaciones basadas en ventanas o utilizando las mismas
librerias gráficas ya que habuitualmente el area gráfica, la memoria de video
y la resolución es mucho más reducida.

Configuraciones y perfiles de dispositivos

Como podreis suponer … será necesario que estos dispositivos tengan una
máquina virtual particular, que tendrá capacidad de ejecutar un subconjunto de
APIs.. lo que se denomina configuraciones.

Sobre esta configuración   …… se crean aplicaciones para un
determinado subconjunto de dispositivos … lo que se denominan perfiles. Un
perfil añade nuevas librerías de clases. En este tutorial, vamos a hablar del
perfil MIDP…

 

Empaquetamiento

En MIDP econtruimos uns componentes, construidos de un modo similar a los
Applets que construimos para un navegador, donde este contenedor nos simplifique y haga transparente el
interfaz con el dispositivo concreto que deseemos utilizar.

Al igual que en las aplicaciones Web, normalmente empaquetemos todos los
elementos que queremos distribuir en ficheros comprimidos (war o ear) … para
distribuir aplicaciones a dispositivos móviles deberemos hacer lo mismo. Vereis
que tambien hay descriptores.. ficheros de configuración …etc

 

Configuración del Entorno y primera aplicación

Creo que, siguiendo la dinámica del resto de tutoriales, lo mejor es
configurar el entorno de desarrollo, contruir una aplicación y posteriormente
desplegarla tanto con emuladores en un ordenador como en un dispositivo móvil
(en este caso tenemos suerte porque disponemos de una iPaq y un movi S55 que
tienen ambos sopore Java)

Desde java.sun.com … nos descargamos el kit de desarrollo para Wireless

Seleccionamos la versión de la máquina virtual a utilizar

Seleccionamos el directorio destino

Y ya tenemos instalado el entorno

Se nos han creado una carpeta con distintas herramientas ….

 

La primera que vemos en KToolbar … que ofrece un entorno de
desarrollo mínimo … lo lanzamos

Pinchamos en Opne Project

Y vemos el ejemplo … la verdad es que parece que no hace nada

pero pulsamos en botón run y

Bueno … vemos que el sistema funciona …..

 

Si pinchamos en Edit->Preferences ….. vamos a activar las
opciones de depuración

La proxima vez que lanzamos la aplicación ….. podemos monitorizar el
comportamiento del sistema

El uso de la memoria

 

Las llamadas a los métodos

Tambien podemos depurar muchas más cosas ….

Construir nuestro componente

Bueno … a lo que vamos …. vamos a empezar a tirar lineas de código…
que es lo nuestro.

El modo más sencillo de crear nuestro primer MidLet es usar El propio
Wireless Toolkit

Creamos un nueso proyecto … y asignamos en nombre a nuestro
midlet

Definimos los nombres de nuestro componentes

El icono asociado

Y el Toolkit crea una estructura de ficheros donde dejar nuestro
elementos

Nuestro fichero de código lo tenemos que meter en directorio src

Ahora hay que construir nuestro primer componente .. podemos ver
que es parecido a los Applets  (conceptualmente hablando)

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class mensaje extends MIDlet implements CommandListener
{
    private Display display;
    private Form props;
    private Command exitCommand = new Command("Salir", Command.EXIT, 1);

    public mensaje()
    {
        display = Display.getDisplay(this);
        props = new Form("Primera Aplicacion");
    }

    public void startApp()
    {

        props.append("Hola, este es un ejemplo de Roberto");
        display.setCurrent(props);
    }

    public void commandAction(Command c, Displayable s)
    {
        if (c == exitCommand)
        {
            destroyApp(false);
            notifyDestroyed();
        }
    }

    public void pauseApp()
    {
    }


    public void destroyApp(boolean unconditional)
    {
    }
}

    

Pulsamos el botón Build y compilamos y empaquetamos

Pulsamos el botón RUN y ejecutamos

Vemos nuestro MidLet y al seleccionarlo … podemos
observar nuestro mensaje …

Y al final .. vemos el resumen de la ejecución

Pues … tampoco tiene tanto misterio …… aunque es como todo …… en
siguientes tutoriales os contaremos aspectos avanzados y os enseñaremos como
contruir un Juego y a resolver tareas complejas como …sincronización, envio
de mensajes … descarga bajo demanda , etc..

Sobre el
Autor ..

1 COMENTARIO

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad