RMS, Record Management System

RMS, Record Management System

Hoy publicare algo sobre como podemos almacenar información en la memoria interna del dispositivo móvil. En las ultimas entradas de Java Zone habíamos visto hasta el momento como podemos usar información, pasarla entre formularios, pero cada vez que ejecutábamos el programa esta información se perdía. Hoy veremos como almacenarla y que siempre este disponible así se apague o se reinicie el celular.

¿Como funciona el almacenamiento de datos en un dispositivo móvil usando RMS?, bueno comencemos diciendo que para almacenar cualquier información es necesario crear un RecordStore, esta clase es como una bodega de registros, un MIDlet puede tener varios RecordStores pero no pueden tener el mismo nombre, cada RecordStore puede almacenar 0 o n registros, pero cada registro no puede superar los 32 caracteres. Ningún otro MIDlet puede acceder a un RecordStore de otro MIDlet a menos que este en la misma Suite o se le conceda permiso a ese otro MIDlet.

Entonces primero se crea un RecordStore con un nombre, nosotros llamamos a eso una Zona de almacenamiento, por eso el método abrirZona que encontraran abajo, luego almacenamos, borramos, actualizamos y por ultimo se cierra la zona. Funciona parecido a cuando abrimos un archivo en JSE tenemos que abrirlo y cerrarlo. Adicionalmente se puede borrar la zona o el RecordStore con todo lo que tiene almacenado.

Para facilitar las tareas de almacenamiento y demás, creamos una pequeña clase la cual mostraremos a continuación, en la cual resumimos algunas de las principales funciones.

RMSOperaciones.java

package clases;

import javax.microedition.rms.*;

public class RMSOperaciones {

RecordStore rs;

    public RMSOperaciones() {
    }

    public boolean abrirZona(String nombreZona){
        try{
            rs=RecordStore.openRecordStore(nombreZona,true);
            return true;
        }catch(RecordStoreException e){
            e.toString();
            return false;
        }
    }
        public boolean adicionarRegistro(String valor){
            byte[] mensaje;
            mensaje=valor.getBytes();
        try{
            rs.addRecord(mensaje,0,mensaje.length);
            return true;
        }catch(RecordStoreException e){
            e.toString();
            return false;
        }
    }

    public boolean cerrarZona(){
        try{
            rs.closeRecordStore();
            return true;
        }catch(RecordStoreException e){
            e.toString();
            return false;
        }
    }
}

Publicare una pequeña secuencia de proyectos pequeños mostrando como almacenar, borrar, actualizar datos en nuestros dispositivos móviles.