¿Qué es J2ME o Java ME?
Java Platform, Micro Edition (Java ME) ofrece un entorno flexible y sólido para aplicaciones que se ejecutan en dispositivos móviles e integrados: teléfonos móviles, TDT, reproductores Blu-ray, dispositivos multimedia digitales, módulos M2M, impresoras y mucho más.
La tecnología Java ME se creó originalmente para paliar las limitaciones asociadas a la creación de aplicaciones para pequeños dispositivos. Con este fin Oracle ha definido los fundamentos de la tecnología Java ME para adaptarse a entornos limitados y hacer posible la creación de aplicaciones Java que se ejecuten en pequeños dispositivos con memoria, visualización y potencia limitadas.
APLICATIVO MOVIL CODIGO FUENTE
/*
* To change this template, choose
Tools | Templates
* and open the template in the
editor.
*/
package hello;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreNotOpenException;
import org.netbeans.microedition.lcdui.LoginScreen;
import org.netbeans.microedition.lcdui.SplashScreen;
public class HelloMIDlet extends MIDlet implements CommandListener {
boolean haycurso=false;
Vector usuarios=new Vector(5);
boolean existe;
RecordStore cursos;
String nombre;
String
m[][]={{"111","111"}};
Ticker accesar;
int ierror;
private boolean midletPaused =
false;
String [] scurso=new
String[5];
public void comenzar(){
ingresar_datos_usuario();
ingresar_datos_cursos();
}
//
private Command exitCommand;
private Command exitCommand1;
private Command okCommand;
private Command backCommand;
private Command okCommand1;
private SplashScreen Bienvenida;
private LoginScreen Ingreso;
private List Opciones;
private SplashScreen ErrordeIngreso;
private SplashScreen ErrorVacio;
private Form ConsultaCurso;
private Spacer spacer;
private TextField txtCodCurso;
private StringItem lbl_Ciclo;
private StringItem lbl_Creditos;
private StringItem lblCodigo;
private StringItem lbl_Nombre;
private StringItem stringItem;
private StringItem lbl_Tipo;
private SplashScreen ErrorCurso;
private Image image;
private Image image1;
private Ticker ticker;
private Image image2;
private Ticker ticker1;
private Ticker ticker3;
private Ticker ticker2;
private Image image3;
//
/**
* The HelloMIDlet
constructor.
*/
public HelloMIDlet() {
}
private void ingresar_datos_cursos() {
try{
cursos=RecordStore.openRecordStore("cursos", true);
cargar_datos_cursos();
}catch (RecordStoreException ex) {
ex.printStackTrace();}
}
/**
* Returns a display instance.
* @return the display
instance.
*/
public Display getDisplay () {
return
Display.getDisplay(this);
}
private boolean validar_usuario(String alias, String clave) {
boolean hecho=false;
boolean encontre=false;
if(alias != null
&& clave!=null){
if(m[0][0].equals(alias) && m[0][1].equals(clave))
{
nombre=alias;
hecho = true;
encontre=true;
}
// for (int i=0;
i
//
Usuario usuario1=(Usuario) usuarios.elementAt(i);
//
if(usuario1.getAlias().equals(alias)
&& usuario1.getClave().equals(clave));
//
{
//
hecho = true;
//
nombre=usuario1.getNombre();
//
break;
//
}
//
}
}
if(alias == "" && clave == ""){
ierror=1;
}else {
ierror=2;
}
return hecho;
}
/**
*
Exits MIDlet.
*/
public void exitMIDlet() {
cerrar_rs();
switchDisplayable (null,
null);
destroyApp(true);
notifyDestroyed();
}
/**
* Called when MIDlet is
started.
* Checks whether the MIDlet
have been already started and initialize/starts or resumes the MIDlet.
*/
public void startApp() {
if (midletPaused) {
resumeMIDlet ();
} else {
initialize ();
startMIDlet ();
}
midletPaused = false;
}
/**
* Called when MIDlet is
paused.
*/
public void pauseApp() {
midletPaused = true;
}
/**
* Called to signal the MIDlet
to terminate.
* @param unconditional if
true, then the MIDlet has to be unconditionally terminated and all resources
has to be released.
*/
public void destroyApp(boolean unconditional) {
}
private void ingresar_datos_usuario() {
cargar("u1","profe","profe","docente
UCV",1);
cargar("u2","usu1","clave1","usuario
UCV1",2);
cargar("u3","usu2","clave2","usuario
UCV2",2);
cargar("u4","usu3","clave3","docente UCV3",2);
System.out.println("");
System.out.println("Numero de usuario
registrados:"+usuarios.size());
}
private void cargar(String codigo, String alias,
String clave, String nombre, int acceso) {
Usuario xusuario=
new Usuario(codigo, alias, clave, nombre, acceso);
//
usuarios.addElement("profe");
//
System.out.println(usuarios.elementAt(0));
}
private void cargar_datos_cursos(){
cargar_curso("2345","Analisis de
Sistemas",5,3.0,"obligatorio");
cargar_curso("7789","Estructura de
Datos",3,3.5,"obligatorio");
cargar_curso("2998","Diseño de
Sistemas",7,3.0,"obligatorio");
cargar_curso("8223","Auditoria
Informatica",9,2.0,"Electivo");
cargar_curso("9115","Sistemas Distribuidos",8,3.5,"obligatorio");
try { System.out.println("Tamaño del Rs cursos"+ cursos.
getNumRecords());
} catch (RecordStoreNotOpenException ex) {
ex.printStackTrace();
}
}
private void cerrar_rs() {
try {
cursos.closeRecordStore();
System.out.println("RS cursos cerrado");
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
}
private void cargar_curso(String codigo, String nombre, int ciclo,
double creditos, String tipo) {
byte [] datos;
ByteArrayOutputStream salida;
DataOutputStream mensaje;
try {
salida=new ByteArrayOutputStream();
mensaje=new DataOutputStream(salida);
mensaje.writeUTF(codigo);
mensaje.writeUTF(nombre);
mensaje.writeInt(ciclo);
mensaje.writeDouble(creditos);
mensaje.writeUTF(tipo);
mensaje.flush();
datos=salida.toByteArray();
System.out.println(datos);
cursos.addRecord(datos, 0, datos.length);
mensaje.close();
salida.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private boolean
buscar_curso(String codigo) {
boolean
existe=false;
try {
RecordEnumeration
bucle=cursos.enumerateRecords(null, null, existe);
while(bucle.hasNextElement()){
byte[]datos=bucle.nextRecord();
ByteArrayInputStream entrada=new
ByteArrayInputStream(datos);
DataInputStream
mensaje=new DataInputStream(entrada);
String
xcodigo=mensaje.readUTF();
if(xcodigo.equals(codigo)){
scurso[0]=codigo;
scurso[1]=mensaje.readUTF();
scurso[2]=""+
mensaje.readInt();
scurso[3]=""+mensaje.readDouble();
scurso[4]=mensaje.readUTF();
existe=true;
break;
}
entrada.close();
mensaje.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return existe;
}
private void
mostrar_curso(String[] scurso) {
lblCodigo.setText(scurso[0]);
lbl_Nombre.setText(scurso[1]);
lbl_Ciclo.setText(scurso[2]);
lbl_Creditos.setText(scurso[3]);
lbl_Tipo.setText(scurso[4]);
}
private void limpiar_pantalla() {
txtCodCurso.setString("");
lbl_Ciclo.setText("");
lblCodigo.setText("");
lbl_Creditos.setText("");
lbl_Nombre.setText("");
lbl_Tipo.setText("");
}
}
No hay comentarios:
Publicar un comentario