Ejemplo RMS

7
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;

Transcript of Ejemplo RMS

Page 1: 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;

Page 2: Ejemplo RMS

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);

Page 3: Ejemplo RMS

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){

Page 4: Ejemplo RMS

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){

Page 5: Ejemplo RMS

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()));

Page 6: Ejemplo RMS

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 :

Page 7: Ejemplo RMS

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.