Sunteți pe pagina 1din 22

CONCEPTES AVANATS DE SISTEMES OPERATIUS

Departament dArquitectura de Computadors

Introduccin a J2ME
(Seminaris de CASO)
Autors
Bruno Rodrguez Rodrguez
Pau Baiget Arasanz

Qu es?

Es una versin reducida de J2SE dado que tiene


unas ciertas limitaciones o diferencias respecto a
ste.
Java2 Micro Edition ha sido creado para
adaptarse a las caractersticas de los nuevos
dispositivos inalmbricos tales como telfonos
mviles y PDAs.

Seminaris de
CONCEPTES

Limitaciones y diferencias respecto a J2SE


Tipos de datos
Preverificacin
Descriptor y Manifesto
Librera grfica
Desaparicin del main
Ausencia del Garbage Collector

Seminaris de
CONCEPTES

Tipos de datos soportados

J2ME no soporta los tipos de datos double y


float dado que los procesadores empleados en
los mviles no disponen de unidad de coma
flotante.
Emular estos tipos de datos (p.ej. Con enteros)
es una operacion muy costosa.

Seminaris de
CONCEPTES

Preverificacin

Durante la compilacin se comprueban qu


excepciones pueden producirse en el lugar de
comprobarlas en tiempo de ejecucin.

Seminaris de
CONCEPTES

Descriptor y Manifesto (1)

Los programas en J2ME no son fichero.class,


se denominan MIDLETs y van comprimidos en
paquetes jar con todos los ficheros que forman
parte de la aplicacin (Manifesto, Descriptor,
imgenes, etc).

La finalidad del Manifesto es describir el


contenido del fichero .JAR con informacin tal
como el nombre, versin, vendedor, etc ..
tambin se incluye en este fichero una entrada
por cada MIDlet que lo compone.
Seminaris de
CONCEPTES

Descriptor y Manifesto (2)

El objetivo del Descriptor es proporcionar la


informacin requerida por el Application
Management Software (programa que gestiona
las descargas de aplicaciones entre otras cosas)
y comprobar si podemos ejecutar el programa en
la mquina local.

Seminaris de
CONCEPTES

Librera grfica

Mediante el paquete javax.microedition.lcdui,


J2ME define un nuevo conjunto de clases para
la creacin de interfaces grficas.

Estas clases estn adaptadas a dispositivos con


memorias muy limitadas y pantallas de tamao
reducido.

Seminaris de
CONCEPTES

Desaparicin del main.

Las aplicaciones en J2ME empiezan en el


metodo start app.
Diagrama de estados de un MIDLET:

Seminaris de
CONCEPTES

Ausencia de Garbage Collector

En J2ME no existe el Garbage Collector, que


sirve para liberar automaticamente las regiones
de memoria que no van a volver a ser
referenciadas.

Es una medida para reducir la utilizacin de


memoria.

Por lo tanto hay que liberar explictamente la


memoria.
Seminaris de
CONCEPTES

Como funciona J2ME por dentro?

Tecnologa

Seminaris de
CONCEPTES

Tecnologa: Perfiles

A nivel de programacin los perfiles determinan


para que tipo de dispositivo estaremos
programando, siendo un programa realizado
sobre un perfil determinado vlido para todos los
dispositivos que lo soporten.

Actualmente el mas utilizado es el MIDP (Mobile


Information Device Profile)

Seminaris de
CONCEPTES

Tecnologa: Librerias CLDC

javax.microediton.lcdui proporciona los


mecanismos para desarrollar un interface de
usuario.

Seminaris de
CONCEPTES

Tecnologa: K Virtual Machine

La KVM difiere de la estndar de Java en que


est preparada para dispositivos de poca
memoria (128 KB), con conectividad y con las
funcionalidades bsicas del lenguaje java.

La KVM oculta si la plataforma es de 16 o 32 bits


y otros aspectos hardware relevantes.

Seminaris de
CONCEPTES

Tecnologa: Sistema Operativo

Hay que tener en cuenta que el SO de la


mquina est empotrado en una memoria (ROM
o EEPROM) con todo lo que ello conlleva
(dificultad de actualizacin).

Seminaris de
CONCEPTES

Principales paquetes de J2ME (1)


javax.microediton.lcdui
Paquete que proporciona los mecanismos para
desarrollar un interface de usuario.
javax.microediton.midlet
Toda aplicacin que quiere utilizar el perfil MIDP
debe heredar de MIDLET.

Seminaris de
CONCEPTES

Principales paquetes de J2ME (2)


javax.microediton.rms
J2ME MIDP define una simple base de datos de
registros llamada RMS (Record Management
System) con el objetivo de poder almacenar
informacin una vez que el MIDLET finalice.
javax.microediton.io
Este paquete proporciona conectividad para
poder acceder a datos remotos y redes
corporativas, es decir, Internet.

Seminaris de
CONCEPTES

Mecanismos de comunicacin en J2ME

HTTP
Sockets (TCP)
Datagramas (UDP)
Puerto serie (Cable al dispositivo)
Fichero

Seminaris de
CONCEPTES

Ejemplo: HolaMundo.java (1)


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HolaMundo extends MIDlet implements CommandListener{
private Command exitCommand;
private Display display;
private Form screen;
public HolaMundo() {
display=Display.getDisplay(this);
exitCommand = new Command(Salir",Command.EXIT,2);
screen = new Form("Hola");
StringItem strItem = new StringItem(" ","Hola mundo");
screen.append(strItem);
screen.addCommand(exitCommand);
screen.setCommandListener(this);
}

Seminaris de
CONCEPTES

Ejemplo: HolaMundo.java (2)


public void startApp() throws MIDletStateChangeException{
display.setCurrent(screen);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
public void commandAction (Command c, Displayable s){
if(c==exitCommand){
destroyApp(false);
notifyDestroyed();
}
}
}

Seminaris de
CONCEPTES

Ejemplo: HolaMundo.java (3)

Resultado de la ejecucin:

Seminaris de
CONCEPTES

Bibliografia

J2ME: Un primer vistazo

Tutorial de la Universidad Carlos III de Madrid


http://www.it.uc3m.es/pervasive/documentos/Intro_J2ME.pdf

Tutoriales de la web oficial de J2ME

http://java.sun.com/j2me/index.jsp

Seminaris de
CONCEPTES

S-ar putea să vă placă și