4,52/5
(83 opiniones)
|12480 alumnos|Fecha publicación: 07/09/2004
Hasta ahora hemos usado la memoria principal del móvil (la RAM) para almacenar datos temporales, pero al salir del midlet, estos datos son eliminados. Esto plantea algunos problemas. Por ejemplo, ¿cómo podemos almacenar las puntuaciones máximas de nuestro juego?
Un dispositivo móvil (al menos por ahora) no dispone de disco duro donde almacenar información permanentemente. J2ME resuelve el problema mediante el RMS (Record Management System). RMS es un pequeño sistema de bases de datos muy sencillo, pero que nos permite añadir información en una memoria no volátil del móvil. RMS no tiene nada que ver con JDBC debido a las limitaciones de los dispositivos J2ME, por lo tanto, el acceso y almacenamiento de la información se hace a mucho más bajo nivel. RMS no puede ser consultado con sentencias SQL ni nada parecido. En una base de datos RMS, el elemento básico es el registro (record). Un registro es la unidad de información más pequeña que puede ser almacenada. Los registros son almacenados en un recordStore que puede visualizarse como una colección de registros. Cuando almacenamos un registro en el recordStore, a éste se le asigna un identificador único que identifica unívocamente al registro.
Para poder utilizar RMS hemos de importar el paquete javax.microedition.rms. Este paquete nos provee de la clase RecordStore y de cuatro interfaces, de las cuales solamente profundizaremos en la interfaz RecordEnumeration.
Trabajando con RMS: cubrir todas las capacidades de RMS se escapa del ámbito de este libro. Sin entrar en profundidades, vamos a ver cómo realizar las operaciones básicas de almacenamiento, lectura y borrado de registros.
Abrir y errar un recordStore.- Antes de poder almacenar un registro hemos de abrir un recordStore con el método openRecordStore().
static RecordStore openRecordStore(String nombre, bolean
crear)
El parámetro nombre es el nombre de la base de datos. El nombre
puede tener un tamaño de 32 caracteres. El parámetro crear, si
tiene su valor a true, creará la base de datos si no existe. Cuando
creamos un recordStore, sólo puede ser accedido desde la suite de
MIDlets que la creó.
Cuando terminamos de utilizar el recordStore, hemos de cerrarlo:
RecordStore.closeRecordStore();
Añadir registros.- Una vez abierto nuestro recordStore
podemos comenzar a añadir registros con el método addRecord().
public int addRecord(byte[] dato,int offset, int
numBytes)
El primer parámetro es el dato que queremos almacenar. Es un array
de bytes. El offset es la posición a partir de la cual (dentro del
array) se va a almacenar el dato. Finalmente, numBytes es el número
de bytes que se van a almacenar. El método retorna el identificador
que el RMS ha asignado al registro.
El método addRecord puede lanzar la excepción RecordStoreException, por lo tanto hemos de capturarla.
try {
int id = recordStore.addRecord (datos, 0,
datos.length);
} catch (RecordStoreException e) {}
Leer registros.- El método getRecord() permite acceder al registro que deseemos, siempre que conozcamos su identificador.
public byte[] getRecord(int Id)
No es necesario que almacenemos y mantengamos una lista con todos
los identificadores de los registros. Un poco más adelante veremos
el método recordEnumeration que nos permitirá conocer el
identificador de cada registro. Al igual que con el método
addRecord(), hemos de capturar la excepción
RecordStoreException.
byte[] dato = null;
try {
dato = recordStore.getRecord(id);
} catch (RecordStoreException e) {}
Borrar registros.- El borrado de registros se
realiza con el método deleteRecord().
public void deleteRecord(int recordId)
Al
igual que con la escritura y lectura de registros hemos de tener en
cuenta que puede provocar la excepción
RecorStoreException.
try {
recordStore.deleteRecord(id);
} catch (RecordStoreException e) {}
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