Ejemplo RMS
-
Upload
diego-vasco -
Category
Documents
-
view
402 -
download
10
Transcript of Ejemplo RMS
FORMATO: GUIA DE APRENDIZAJE PARA LA FORMACIÓN PROFESIONAL F08 – 9227 – 014 / 04 – 10 Versión 1 PROCESO: EJECUCIÓN DE LA FORMACIÓN PROFESIONAL PROCEDIMIENTO: GESTIÓN DE PROYECTOS FORMATIVOS
Modelo de
Mejora Continua
EJEMPLO DE MANEJO DE REGISTROS RMS (ADICIONAR, ELIMINAR, VER Y ACTUALIZAR)
UTILIZANDO EL RECORD STORE
package hello;
import javax.microedition.midlet.*;
import java.io.*;
import java.io.IOException;
import java.util.Date;
import java.util.Enumeration;
import java.util.Vector;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreNotOpenException;
public class rms1 extends MIDlet implements CommandListener{
private Display pantalla;
private Form form;
private TextField nombre;
private TextField edad;
private Command guardar, salir, ver, borrar, actualizar;
private RecordStore rs;
public rms1 () {
pantalla = Display.getDisplay(this);
form = new Form("Almacenamiento");
nombre = new TextField("Nombre", "", 15, TextField.ANY);
edad = new TextField("Edad", "", 3, TextField.NUMERIC);
salir = new Command("Salir", Command.EXIT, 0);
guardar = new Command("Guardar", Command.OK, 1);
ver = new Command("Ver", Command.OK, 2);
borrar = new Command("Borrar", Command.OK, 3);
actualizar = new Command("Actualizar", Command.OK, 4);
try {
rs = RecordStore.openRecordStore("Listado", true);
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
form.append(nombre);
form.append(edad);
form.addCommand(guardar);
form.addCommand(salir);
form.addCommand(borrar);
form.addCommand(actualizar);
form.addCommand(ver);
form.setCommandListener(this);
}
public void startApp() {
pantalla.setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable dsplbl) {
if (c == salir){
destroyApp(false);
notifyDestroyed();
}
if (c == guardar){
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// Se construye un DataOutputStream para escribir el registro del Record Store
DataOutputStream daos = new DataOutputStream(baos);
Date fecha = new Date();
daos.writeUTF(new String(nombre.getString()));
daos.writeUTF(fecha.toString());
daos.writeInt(Integer.parseInt(edad.getString()));
daos.writeUTF(new String("Prueba"));
daos.close();
// Se convierte el ByteArrayOutputStream (baos) a un arreglo de bytes
byte[] bytes = baos.toByteArray();
// se invoca addRecord () para agregar el registro al Record Store.
rs.addRecord(bytes,0,bytes.length);
} catch (IOException ex) {
ex.printStackTrace();
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
}
if (c == ver){
try {
byte[] bytes;
for (int i = 1; i <= rs.getNumRecords(); i++) {
bytes = rs.getRecord(i);
DataInputStream is = new DataInputStream(new ByteArrayInputStream(bytes));
System.out.println("Los Registros son: "+is.readUTF()+" "+is.readUTF()+" "+is.readInt()+"
"+is.readUTF());
}
} catch (Exception e) {
}
}
if (c == actualizar){
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream daos = new DataOutputStream(baos);
Date fecha = new Date();
daos.writeUTF(new String(nombre.getString()));
daos.writeUTF(fecha.toString());
daos.writeInt(Integer.parseInt(edad.getString()));
daos.writeUTF(new String("prueba"));
daos.close();
byte[] bytes = baos.toByteArray();
rs.setRecord(1, bytes, 0, bytes.length);
} catch (IOException ex) {
ex.printStackTrace();
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
}
if (c==borrar){
try {
Vector recordIDs = new Vector();
int lastID = 1;
// Se agrega el ID del Vector
recordIDs.addElement(new Integer(++lastID));
//Ahora, borramos un registro, encontramos el record ID del registro que queremos
eliminar :
Enumeration IDs = recordIDs.elements();
while(IDs.hasMoreElements()) {
int id = ((Integer) IDs.nextElement()).intValue();
//Comparar para ver si esto es el registro que desea elimininar
// Hacemos el llamado
rs.deleteRecord(id);
}
} catch (RecordStoreException ex) {
ex.printStackTrace();
}
}
}
}
Nota: Implementar un StringItem para mostrar los registros en el MIDlet y descargar la aplicación
en el dispositivo móvil.