3.283 cursos gratis
6.261.122 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Programación de juegos para móviles con J2ME > Almacenamiento. RMS

Programación de juegos para móviles con J2ME

Autor: Alberto García Serrano
Curso:  4,52/5 4,52/5 (83 opiniones) |12480 alumnos|Fecha publicación: 07/09/2004

Capítulo 25:

 Almacenamiento. RMS

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

Capítulo siguiente - Recorriendo registros
Capítulo anterior - Música
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 83 opiniones. Opina sobre este curso.


Cursos similares a Programación de juegos para móviles con J2ME


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]
 4,50/5 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]
5/5 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]
 4,45/5 49.291  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail