4,52/5
(83 opiniones)
|12480 alumnos|Fecha publicación: 07/09/2004
public RecordEnumeration enumerateRecords(RecordFilter
filtro,
RecordComparator, comparador,boolean
Actualizar)
Los dos primeros parámetros sirven para personalizar el recorrido
de los registros. No entraremos en detalle, pero, gracias al
primero podremos filtrar la búsqueda, y con el segundo podemos
recorrer los registros de forma ordenada. El parámetro Actualizar
indica si la enumeración debe actualizarse cuando realicemos alguna
operación de inserción o borrado de registros. Si vas a hacer un
recorrido rápido por los registros es mejor ponerlo a false para
evitar la sobrecarga.
RecordEnumeration registro = null;
try {
registro = recordStore.enumerateRecords(null,
null, false);
while (registro.hasNextElement())
System.out.println
(registro.nextRecordId());
} catch (Exception e) {}
Hay dos métodos interesantes
del RecordEnumeration: hasNextElement() que devolverá el valor true
si hay un siguiente elemento disponible para ser leído. Cada vez
que leemos un elemento se adelanta el puntero al siguiente. El
método nextRecordId() devuelve el identificador del siguiente
registro.
El siguiente código muestra un ejemplo completo de uso de RMS.
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
public class RMS extends MIDlet {
// nombre de la BD
static final String BD = "datos";
String dato;
int id, i;
char b;
public RMS() {
RecordStore rs =
null;
// Borramos
la BD si tenía algo
try {
RecordStore.deleteRecordStore(BD);
} catch( Exception e
){}
try {
// Abrimos el recordStore
rs = RecordStore.openRecordStore(BD, true);
guardaRegistro(rs,"Datos del registro 1");
guardaRegistro(rs,"Datos del registro 2");
guardaRegistro(rs,"Datos del registro 3");
// Leemos los registros
RecordEnumeration registros = rs.enumerateRecords(null, null,
false);
// Recorremos todos los elementos
while (registros.hasNextElement()) {
// Obtenemos el ID del siguiente registro
verRegistro(rs, registros.nextRecordId());
}
rs.closeRecordStore();
} catch(
RecordStoreException e ){
System.out.println( e );
}
notifyDestroyed();
}
public void verRegistro(RecordStore
rs, int id) {
try {
ByteArrayInputStream bais = new
ByteArrayInputStream(rs.getRecord(id));
DataInputStream is = new DataInputStream(bais);
// leemos el registro
try {
dato = is.readUTF();
System.out.println("-> "+dato);
} catch (EOFException eofe) {
} catch (IOException ioe) {}
} catch
(RecordStoreException e) {}
}
public void
guardaRegistro(RecordStore rs, String dato) {
ByteArrayOutputStream
baos = new ByteArrayOutputStream();
DataOutputStream os =
new DataOutputStream(baos);
try {
// guadar el dato
os.writeUTF(dato);
} catch (IOException
ioe) {}
// extraer el
array de butes
byte[] b =
baos.toByteArray();
// lo
añadimos al recordStore
try {
rs.addRecord(b, 0, b.length);
} catch
(RecordStoreException rse) {}
}
public void destroyApp( boolean unconditional ) {}
public void startApp() {}
public void pauseApp() {}
}
Hay 83 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Funciones en C (primera parte) Curso de programacíon informática sobre Funciones en C en el orden de los fundamentos de la programación. Comprende el desarrollo de un software utilizando funciones y a ... [17/10/08] |
|
2.816 | ||
|
Procesos en C. Sincronización (primera parte) Curso de informática sobre sincronización de procesos en C y señales en linux que te ofrece la posibilidad de comprender los mecanismos de comunicación entre procesos inf... [21/10/08] |
|
993 | ||
|
Java Java nació con el deseo por parte de Sun de buscar un lenguaje de programación enfocado a electrodomésticos. Se necesitaba alg&uacu... [23/04/04] |
|
49.291 | ||
Publicar en
del.icio.us
digg
meneame