Java es un portafolio de productos basados en la red, con la filosofía de que el mismo software debe ser ejecutable en diferentes dispositivos y/o sistemas.
¿Tiene tu teléfono celular, en la sección de aplicaciones el logo deJava? Si es así, tu teléfono es capaz de ejecutar programas desarrollados en Java. Si no, es un hecho que tu próximo teléfono tendrá la capacidad de hacerlo. Dos mil millones de personas en el mundo tienen acceso a un celular, por lo tanto SUN ha generado una fuerte estrategia para incluir Java en estos dispositivos.
Este tutorial es sobre cómo programar dispositivos (teléfonos y PDAs) que utilizan Java 2 Micro Edition (J2ME).
Vamos a comenzar con una breve descripción de cómo programar interfaces gráficas y aplicaciones sencillas, y vamos a terminar de una manera divertida proporcionando las bases para programar videojuegos.
1. /**
* programación orientada a objetos
* con Java
*/
// applets, aplicaciones[awt][swing], servlets, JSP
// y otras cosas
public class {
public static void main (String [] a) {
MCs. Javier González Sánchez;
javiergs@itesm.mx;
ITESM, campus Guadalajara;
}
}
3. agenda[ 1 1 historia de Java
][ ]=“ ”;
Diciembre 1990:
• Green Project, Oak, Duke …
http://today.java.net/jag/old/green/
Octubre 2004:
• Portafolio de productos basados en la red y con la
filosofía de que el mismo software debe ser ejecutable
en diferentes dispositivos y/o sistemas.
• J2SE = base de la tecnología Java
• J2SE = entorno empresarial, redes, acceso a datos
• J2ME = entornos limitados
javiergs@itesm.mx
4. agenda[ 1 2 programación
][ ]=“ ”;
• Variables, Tipos de dato, Operadores
• Clases, Objetos
• Atributos, Métodos
• Paquetes, APIs
• Herencia, Sobrecarga, Sobreescritura
• Estructuras de control
• Excepciones
• Estructuras de Datos: arreglos
javiergs@itesm.mx
5. agenda[ 1 3 modelar el mundo real ”;
][ ]=“
Clase = molde Objeto = cosa
herencia se usar
se tienen
atributos
atributos se usar
metodos
metodos se tienen
javiergs@itesm.mx
6. agenda[ 1][4]=“ a trabajar … ”;
public class Persona {
}
javiergs@itesm.mx
12. agenda[ 3 ]= J2SE.aplicación primer paso… (“ ”);
public class Mundo
extends Frame
implements ActionListener {
public void Mundo () {
}
public static void main (String [] a) {
}
public void actionPerformed (ActionEvent e) {
}
}
javiergs@itesm.mx
21. agenda[ 6 J2ME.MIDlets
]= (“ Mobile Java ”);
Java 2 Micro Edition
• omite el soporte a operaciones con punto flotante y los tipos
de datos que manejan esa información
• Limita el numero de Exception disponibles para control de
Errores
• Para dispositivos con Configuracion CLDC (Connected Limited
Device Configuration): PDAs y telefonos moviles. Y el caso
particular de telefonos moviles el perfil MIDP (Movil
Information Device Profile)
• Maquina Virtual minimizada (K Virtual Machine)
javiergs@itesm.mx
22. agenda[ 6 J2ME.MIDlets
]= (“ Mobile Java ”);
MIDlet:
• programa capaz de ejecutarse en un dispositivo
móvil.
Herramientas de trabajo:
• J2ME Wireless Toolkit 2.0
[http://java.sun.com/j2me/download.html ]
• J2SE SDK es necesario como base.
javiergs@itesm.mx
23. agenda[ 6 J2ME.MIDlets
]= (“ Mobile Java ”);
project:package
Device:emulador
*.jar
Build *.jad
Run
javiergs@itesm.mx
24. agenda[ 6 J2ME.MIDlets
]= (“ Mobile Java ”);
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet implements CommandListener {
private Command exitCommand;
private Display display;
private Form screen;
public HelloWorld() {
// Obtenemos el objeto Display del midlet.
display = Display.getDisplay(this);
// Creamos el comando Salir.
exitCommand = new Command("Salir", Command.EXIT,2);
// Creamos la pantalla principal (un formulario)
screen = new Form("HelloWorld");
// Creamos y añadimos la cadena de texto a la pantalla
StringItem saludo = new StringItem("","Hola Mundo...");
screen.append(saludo);
// Añadimos el comando Salir e indicamos que clase lo manejará
screen.addCommand(exitCommand);
screen.setCommandListener(this);
}
javiergs@itesm.mx
25. agenda[ 6 J2ME.MIDlets
]= (“ Mobile Java ”);
public void startApp() throws MIDletStateChangeException {
// Seleccionamos la pantalla a mostrar
display.setCurrent(screen);
}
public void pauseApp() {
}
public void destroyApp(boolean incondicional) {
}
public void commandAction(Command c, Displayable s) {
// Salir
if (c == exitCommand) {
destroyApp(false);
notifyDestroyed();
}
}
}
javiergs@itesm.mx
26. agenda[ 6 J2ME.MIDlets
]= (“ Mobile Java ”);
javiergs@itesm.mx
27. System.out.println(“ Conclusiones ”);
mucho
por
aprender
&&
seguir
trabajando
javiergs@itesm.mx
28. out.println(“ Referencias ”);
mucho public interface J2 {
por
http://java.sun.com;
http://www.java.com;
aprender http://java.net
}
&&
seguir
public interface J2ME extends J2 {
trabajando http://www.mailxmail.com/curso/informatica/j2me/
http://java.sun.con/j2me/
}
public interface J2EE extends J2 {
http://www.apache.org
}
javiergs@itesm.mx