Beruflich Dokumente
Kultur Dokumente
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
agenda[
1 Dispositivos mviles
]=
);
SMS (Short Service Message Service). Mensajes de mximo 160 caracteres WAP y WML. Web de baja fiabilidad, velocidad y alto costo. GPRS (General Packet Radio Service) transferencia de datos multimedia con cualidades aceptables. MMS (Multimedia Message Service)
javiergs@itesm.mx
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
agenda[
2 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 filosofa de que el mismo software debe ser ejecutable en diferentes dispositivos y/o sistemas. J2SE = base de la tecnologa Java J2EE = entorno empresarial, redes, acceso a datos J2ME = entornos limitados
javiergs@itesm.mx
agenda[
2 Java2.inicio()
]=
);
MIDlets
javiergs@itesm.mx
agenda[
2 J2ME.MIDlets
]=
Mobile Java );
Omite el soporte a operaciones con punto flotante y los tipos de datos que manejan esa informacin Limita el nmero de Exception disponibles para control de Errores Para dispositivos con Configuracin CLDC (Connected Limited Device Configuration): PDAs y telfonos mviles. Y el caso particular de telfonos mviles el perfil MIDP (Mvil Information Device Profile)
javiergs@itesm.mx
agenda[
2 J2ME.MIDlets
]=
Mobile Java );
Herramientas de trabajo: J2ME Wireless Toolkit 2.0 [http://java.sun.com/j2me/download.html ] J2SE SDK es necesario como base.
javiergs@itesm.mx
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
agenda[
3 programacin
]=
Variables, Tipos de dato, Operadores Clases, Objetos Atributos, Mtodos Paquetes, APIs Herencia, Sobrecarga, Sobreescritura Estructuras de control Excepciones Estructuras de Datos: arreglos
javiergs@itesm.mx
agenda[
Objeto = cosa se usar se tienen atributos metodos Son hijos de se usan tienen
javiergs@itesm.mx
agenda[
3]= a trabajar
class Coche { int velocidad;
void acelerar( int nuevaVelocidad) { velocidad = nuevaVelocidad; } void frenar() { velocidad = 0; } } class Mundo { public static void main (String [] arg) { Coche miCoche = new Coche(); miCoche.acelerar(100); miCoche.frenar(); } }
javiergs@itesm.mx
agenda[
javiergs@itesm.mx
agenda[
3] = compilar y ejecutar
archivo.java
archivo.class
javiergs@itesm.mx
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
agenda[
4 J2ME.Wireless Toolkit
]=
);
javiergs@itesm.mx
agenda[
4 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 aadimos la cadena de texto a la pantalla StringItem saludo = new StringItem("","Hola Mundo..."); screen.append(saludo); // Aadimos el comando Salir e indicamos que clase lo manejar screen.addCommand(exitCommand); screen.setCommandListener(this); }
javiergs@itesm.mx
agenda[
4 J2ME.MIDlets
]=
Mobile Java );
public void startApp() throws MIDletStateChangeException { // Seleccionamos la pantalla a mostrar display.setCurrent(screen); } public void pauseApp() { }
javiergs@itesm.mx
agenda[
4 Opciones
]=
);
Archivo.jar
Archivo.jad
etc.
javiergs@itesm.mx
agenda[
4 Opciones
]=
);
javiergs@itesm.mx
agenda[
4 MIDlets
]=
anatoma );
Hijo de: javax.microedition.midlet.MIDlet Sobrescribir: startApp() pauseApp() destroyApp() Listener: commandAction() CLDC (Connected Limited Device Configuration): java.lang java.util java.io Generic Conection Framework
javiergs@itesm.mx
agenda[
4 MIDlets
]=
anatoma );
MIDP (Mvil Information Device Profile) javax.microedition.midlet Contiene la clase MIDlet javax.microedition.lcdui Interfase de usuario: Screen, Canvas javax.microedition.io javax.microedition.rms Timer TimerTask
javiergs@itesm.mx
agenda[
4 MIDlets
]=
fisiologa );
Display display = Display.getDisplay(this); Command exitCommand = new Command("Salir", Command.EXIT,2); Tipos de comandos disponibles: OK, CANCEL, BACK, STOP, HELP, SCREEN, ITEM. Form screen = new Form("HelloWorld"); screen.addCommand(exitCommand); screen.setCommandListener(this); StringItem saludo = new StringItem("","Hola Mundo..."); screen.append(saludo); display.setCurrent(screen);
javiergs@itesm.mx
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
agenda[
4 MIDlets
]=
Screen );
javiergs@itesm.mx
agenda[
4 MIDlets
]=
Screen );
Las clases que heredan de Screen pueden aparecer en pantalla Solo una a la vez Heredan: String getTitle() // devuelve el ttulo de la pantalla void setTitle(String s) // establece el ttulo de la pantalla Ticker getTicker() // Devuelve el ticker de la pantalla void setTicker(Ticker ticker) // Establece el ticker de la pantalla
javiergs@itesm.mx
agenda[
4 MIDlets
]=
Alert );
Permite mostrar una pantalla de texto hasta que se produzca un comando de tipo OK. Se utiliza para mostrar mensajes de error y Avisos Alert ( String ttulo, String texto_alerta, Image imagen_alerta, //null para no utilizar imagen AlertType tipo_alerta); //ALARM, CONFIRMATION, ERROR, Ejemplo:
Alert alerta; alerta = new Alert ("Error","El dato no es vlido", null,AlertType.ERROR); display.setCurrent(alerta); alerta.setTimeout(Alert.FOREVER); // tiempo en ms o establecer permante
INFO, WARNING
javiergs@itesm.mx
agenda[
4 MIDlets
]=
List );
Ejemplo:
String[] ciudades = {"Mlaga", "Madrid", "Melilla"}; List lista = new List ("Seleccione ciudad", List.EXCLUSIVE, ciudades, null); .. Lista.getString ( lista.getSelectedIndex() );
javiergs@itesm.mx
agenda[
4 MIDlets
]=
TextBox );
Ejemplo:
TextBox texto = new TextBox ("Mensaje", "", 256, TextField.ANY);
javiergs@itesm.mx
agenda[
4 MIDlets
]=
Form );
agenda[
4 MIDlets
]=
Form );
javiergs@itesm.mx
agenda[
4 MIDlets
]=
Item );
StringItem (String etiqueta, String texto) String getText() void setText(String texto)
String texto_alternativo)
*las imgenes se colocan en el directorio res
javiergs@itesm.mx
agenda[
4 MIDlets
]=
Item );
TIME, DATE_TIME
Date getDate() void setDate (Date fecha) ChoiceGroup ( String etiqueta, int tipo_lista, String[] elementos, image[] imgenes)
javiergs@itesm.mx
agenda[
4 MIDlets
]=
Item );
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Items extends MIDlet implements CommandListener { private Command exitCommand; private Display display; private Form screen; public Items() { String[] estados = {"Casado","Soltero","Divorciado","Viudo"}; display = Display.getDisplay(this); exitCommand = new Command("Salir", Command.EXIT,2); screen = new Form("Interfaz de usuario"); TextField nombre = new TextField("Nombre","",30,TextField.ANY); DateField fecha_nac = new DateField("Fecha de nacimiento", DateField.DATE); ChoiceGroup estado = new ChoiceGroup("Estado",List.EXCLUSIVE,estados,null); screen.append(nombre); screen.append(fecha_nac); screen.append(estado); screen.addCommand(exitCommand); screen.setCommandListener(this); } javiergs@itesm.mx
agenda[
4 MIDlets
]=
Item );
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
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
agenda[
4 MIDlets
]=
canvas );
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Canvas1 extends MIDlet implements CommandListener { private Command exitCommand; private Display display; private SSCanvas screen; public Canvas1() { display=Display.getDisplay(this); exitCommand = new Command("Salir",Command.SCREEN,2); screen=new SSCanvas(); screen.addCommand(exitCommand); screen.setCommandListener(this); } 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(); } } }
javiergs@itesm.mx
agenda[
4 MIDlets
]=
canvas
);
class SSCanvas extends Canvas { public void paint(Graphics g) { g.setColor(255,255,255); g.fillRect (0, 0, getWidth(), getHeight()); q.setColor(10,200,100); g.drawLine (0, 0, 100, 100); g.fillRect (50, 50, 30, 30); Image img = Image.createImage(/logo.png"); g.drawImage (img, 10, 10, Graphics.HCENTER, Graphics.VCENTER); } }
javiergs@itesm.mx
agenda[
4 juegos
]=
);
javiergs@itesm.mx
agenda[
4 teclado
]=
);
// Lectura del Teclado: keyPressed(), keyReleased() y keyRepeated(). public void keyPressed(int keyCode) { int action = getGameAction(keyCode); switch (action) { case FIRE: // Disparar break; case LEFT: // Mover a la izquierda break; case RIGHT: // Mover a la derecha break; case UP: // Mover hacia arriba break; case DOWN: // Mover hacia abajo break; } } javiergs@itesm.mx
agenda[
4 hilos
]=
);
public void run() { iniciar(); while (true) { // Actualizar fondo de pantalla doScroll(); // Actualizar posicin del jugador computePlayer(); // Actualizar pantalla repaint(); serviceRepaints(); try { Thread.sleep(sleepTime); } catch (InterruptedException e) { } } } javiergs@itesm.mx
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
agenda[
4 MIDlets
]=
red );
try { c = (HttpConnection)Connector.open(url); c.setRequestMethod(HttpConnection.GET); c.setRequestProperty("IF-Modified-Since", "10 Nov 2000 17:29:12 GMT"); c.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/ CLDC-1.0"); c.setRequestProperty("Content-Language", "es-ES"); is = c.openInputStream(); int ch, i, j; // leer los datos desde la URL while ((ch = is.read()) != -1) { b.append((char) ch); } // mostrar noticias en la pantalla t = new TextBox("Noticias en barrapunto.com", salida.toString(), 1024, 0); javiergs@itesm.mx
g.drawString(
Agenda );
agenda[
1 Dispositivos mviles
]=
agenda[
2 Java micro-edition
]= ]=
);
agenda[
agenda[
agenda[
5 MIDlet.widgets
]=
agenda[
6 MIDlet.canvas
]=
agenda[
7 MIDlet.red
]=
agenda[
8 MIDlet.conclusiones
]=
);
javiergs@itesm.mx
System.out.println(
Conclusiones
);
Java World
javiergs@itesm.mx
out.println(
Referencias
public interface
);
J2
public interface
J2ME
extends J2 {
http://java.sun.con/j2me/
}
public interface
http://www.symbian.com/ http://developer.sonyericsson.com/
javiergs@itesm.mx
Otros
extends J2 {
out.println(
Para divertirse
);
A jugar!
public interface
Nintendo en tu celular
public interface
http://www.vampent.com/vnes.htm;
}
javiergs@itesm.mx
super(
public stop () {
http://
www.javiergs.com
javiergs@itesm.mx
}
javiergs@itesm.mx
super(
public stop () {
http://
www.javiergs.com
javiergs@itesm.mx
}
javiergs@itesm.mx
super(
public stop () {
http://
www.javiergs.com
javiergs@itesm.mx
}
javiergs@itesm.mx
super(
public stop () {
http://
www.javiergs.com
javiergs@itesm.mx
}
javiergs@itesm.mx