Archivo | J2ME RSS for this section

Juegos Dinamicos – [Desarrollo en J2ME] – actualizado!!

[Desarrollo en J2ME] – 194x.

Hace tiempo me puse a investigar nuevas tecnologías, ahí encontré java, el mismo me brindaba todas las herramientas que necesitaba para desarrollar aplicaciones móviles, este pequeño desarrollo cuenta con una pantalla spashScreen(“loading”), una pantalla de bienvenida en donde iría el logo presentación del juego, y finalmente el juego, en este caso el juego en cuestión es un clásico 194x.
Le faltan varios detalles, pero lo dejo en disponibilidad de cualquiera que quiera modificarlo y mejorarlo, cualquier consulta que tengan con gusto responderé.

Cuando yo me inicie en esto no encontré por ningún lado los recursos que necesitaba para crearlo es por eso que me decidí a colaborar con aquellos que recién se inician en este mundo de j2me.

Para el desarrollo use NetBeans 5.5.1 el mismo cuenta con un emulador de la interfase de la aplicación.

Aquí dejo un par de imágenes de la aplicación..

Leer Más…

Anuncios

Tutorial “mi primer MIDlet”

A continuacion crearemos nuiestro primer midlet, que nos servira para comprobar de forma totalmente practica como es su proceso de creacion, desde el codigo fuente hasta su distribucion.

Todos los midlet deben tener una clase principal que herede de la clase javax.microedition.midlet.MIDlet, contenida en el API MIDP estandar. esta clase define varios metodos, los cuales los destacare:

  • startApp() – lanza el MIDlet.
  • pauseApp() – Para el MIDlet.
  • destroyApp() – Destruye el MIDlet.

Los midlets tiene tres posibles estados que determinan su comportamiento: activo,parado y destruido Estos estados se relacionan directamente con los metodos antes enumerados, que son los llamados directamente por el entorno de ejecucion de aplicaciones, pero tambien pueden ser invocados desde el codigo.

Un MIDlet puede ser lanzado y parado varias veces, pero solo sera destruido unavez.

La mayoria de los MIDlets implementan el metodo commandAction(), un metodo de respuesta a eventos definido en la interfaz javax.microedition.lcdui.CommandListener.
Para los que programan en java encontraran muy similar al control de eventos tipicos.

Tambien tenemos la clase javax.microedition.lcdui.Display, que reprecenta y modela el controlador de la pantalla del dispositivo y los elementos que permiten al usuario interactuar con la aplicacion. Nunca se debe crear un objeto Display, obtendremos una referencia al objeto Display que nos proporciona el propio entorno. Dispondremos de una instancia Display por cada MIDlet que se este ejecutando en el dispositivo en cada momento.
Mientras que del onjeto Display solo pueede haber una instancia, del objetos javax.microedition.lcdui.Screen pueden existir varias. El objeto Sreen es un componente de GUI (graphics user interface) generico que sirve como base para otros componentes.

Dentro de las aplicaciones MIDP no tenemos la posibilidad de visualizar varias ventanas como lo hacemos en el mundo del sofware habitual. La mayoria de los MIDlets usan subclases de la clases Screen, como Forms, TextBox o List, ya que proporcionan una funcionalidad mucho mas especifica y por lo tanto son mas utiles y sencillas de utilizar.

Una clase similar en cierta medida a Screen es la clase Canvas que pertenece al mismo paquete. Los Canvas son usados para realizar operaciones graficas directamente sobre la pantalla .No se puede mostrar un objeto canvas y un objeto screen a la vez, pero se pueden alternar en la misma aplicacion

A continuacion y luego de esta introduccion dejo el script explicativo de como esta formado un MIDlet muy basico en j2me.

/**
*
* @author exequiel catalani
*/

//importamos los paquetes
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

//nuestra clase tiene que extender de la clase MIDLet y tiene que implementar
// la interface CommandListener
public class HolaMundo extends MIDlet implements CommandListener {
//declaramos las variables
private Command salir;
private Display display;
private Form pantalla;

//creamos una nueva instancia
public HolaMundo() {
//recogemos el objeto Display
display = Display.getDisplay(this);

//creamos el comando de salida
salir = new Command (“Salir”, Command.EXIT,2);

//Creamos el “Form” de la pantalla principal
pantalla = new Form (“Primer MIDLet”);

//Creamos una cadena y la ponemos en pantalla
//usando el metodo append
StringItem cad = new StringItem( “”, “Hola Mundo!”);
pantalla.append(cad);

//añadimos y configuramos el comando de salida
//tambien usamos un listener para detectar el evento
pantalla.addCommand(salir);
pantalla.setCommandListener(this);

}

public void startApp() throws MIDletStateChangeException{
// Establecemos el “Display” actual a nuestra
//pantalla recien creada
display.setCurrent(pantalla);
}

public void pauseApp(){
}

public void destroyApp (boolean incondicional){
}

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

}