INTRODUCCIÓN:
Para empezar J2ME son las siglas de Java 2 Micro Editión. Java para los que no conocen es un lenguaje de programación orientado a objetos y multiplataforma. Lo de orientado a objetos lo dejaremos para más adelante ya que es un concepto complejo para los que no son programadores, lo de multiplataforma significa que el mismo archivo "ejecutable" de java puede ser ejecutado en diferentes sistemas operativos (en el caso de los ordenadores windows, linux, mac, etc.).
J2ME es una ampliación más de java, actualmente existen 3 versiones de java:
J2ME o java 2 Micro Editión: esta versión es la que utilizan los teléfonos móviles y PDAs
J2SE o java 2 standar editión: esta versión es la que utiliza los ordenadores personales (PC)
J2EE o java 2 Edición Empresarial: esta versión esta orientada a servidores.
J2ME está dividida en configuraciones y perfiles. Las configuraciones son las base de desarrollo para en un tipo de plataforma concreta y los perfiles añaden Apis para realizar aplicaciones.
En J2ME existen dos configuraciones llamada CLDC (Connected Limited Device Configuration) CLDC 1.0 y CLDC 1.1, y dos versiones de perfiles MIDP 1.0 y MIDP 2.0.
Debido a las limitaciones de los teléfonos móviles, CLDC y MIDP tiene limitaciones en su máquina virtual, llamada KVM, y tambien en su API disponible.
Actualmente existen dos versiones de J2ME aunque hasta hace poco la más extendida era la 1 actualmente con la gran cantidad de nuevos terminales ya se podria pensar en programar directamente para la versión 2.
MIDP 1.0 : es la primera versión y la más extendida, su principal ventaja es que es compatible para cualquier terminal movil que soporte java.
MIDP 2.0 : es la versión mas reciente, sus principales ventajas son.
- Musica y Sonido: cosa que en la versión 1 no existe, esta versión soporta sonidos y música en diferentes formatos, pero para cada movil puede que soporte o no un determinado formato.
- Full Screen: puede utilizarse la totalidad de la pantalla del dispositivo movil.
- Clases orientadas a juegos: en esta versión se añadieron clases que hacen la vida más fácil a los programadores de juegos.
- FlashBack y vibración: con esta versión podrás utilizar la vibración y el flashback como efectos para tus juegos (solo funciona con los moviles que tengan esta propiedad).
Para poder comenzar a poder programar juegos con java es necesario tener conocimientos de programación en java, si no sabes programar en java mira el siguiente link >> tutorial java.
ESTRUCTURA BÁSICA DE UN PROGRAMA EN J2ME
//importamos las clases de java que utilizaremos en nuestro programa
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/*aqui nuestro MIDlet, esta clase sera la primera en ser ejecutada cuando se
ejecute el programa*/
public class Demo1 extends MIDlet {
//metodo cuando el midlet arranca
public void startApp() {
//creamos un objeto SSCanvas (nuestra pantalla de juego)
SSCanvas screen=new SSCanvas();
//indicamos al dispositivo que screen (instancia de SSCanvas)
//será la nueva pantalla activa
Display.getDisplay(this).setCurrent(screen);
}
//metodo cuando el midlet entra en pausa
public void pauseApp() {
}
//metodo cuando el midlet es destruido
public void destroyApp(boolean unconditional) {
}
}
//esta clase es la encargada de hacer funcionar nuestra aplicación gráfica
class SSCanvas extends Canvas{
//metodo de la clase canvas para pintar en pantalla
public void paint(Graphics g){
//seleccionamos el color negro para pintar el fondo
g.setColor(0,0,0);
//pintamos el fondo de pantalla con un rectangulo con el tamaño de la pantalla
//getWidth() y getHeight() es un método de la clase canvas que nos devuelve
//el ancho y alto de la pantalla
g.fillRect(0,0,getWidth(),getHeight());
//activamos el color blanco
g.setColor(255,255,255);
//escribimos en pantalla "Hola Mundo"
g.drawString("Hola Mundo", getWidth()/2, getHeight()/2,Graphics.TOP | Graphics.HCENTER);
}
}
Este programa es la base para cualquier juego que querramos hacer, lo único que hace es visualizar en la pantalla del movil la frase "Hola Mundo".