border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 05-05-2008, 20:47:24
Buena Participación en el Foro
 
Registrado: abr 2008
Posts: 35
pablosguajardo Aun no valorado
Thumbs up Introduccion a RMS 1º parte

Hola buenos días e dejado de lado los webservices(ojo q voy a seguir pero me pareció mas interesante un poco de RMS) para arrancar con RMS esto se usa para almacenar datos en los teléfonos.
Bueno acá les dejo un ejemplo sacado de otra pagina(no me acuerdo cual) para q entren en onda de q se trata, posteriormente estaré agregando algunos de mis ejemplos…


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

Vamos a valernos del objeto RecordEnumeration para recorrer todos los registros almacenados en la base de datos. Para crear una enumeración utilizamos el método enumerateRecords().
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.
Código PHP:
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 idi;
    
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(BDtrue); 
            
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(nullnullfalse);
            
// Recorremos todos los elementos
            
while (registros.hasNextElement()) { 
                
// Obtenemos el ID del siguiente registro
                
verRegistro(rsregistros.nextRecordId());
            }
            
rs.closeRecordStore();
        } catch( 
RecordStoreException e ){
            
System.out.println);
        }
        
notifyDestroyed();
    } 
    public 
void verRegistro(RecordStore rsint 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 rsString 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[] baos.toByteArray(); 
        
// lo añadimos al recordStore
        
try {
            
rs.addRecord(b0b.length);
        } catch (
RecordStoreException rse) {}
    } 
    public 
void destroyAppboolean unconditional ) {} 
    public 
void startApp() {} 
    public 
void pauseApp() {}

__________________
Nadie salió a despedirme cuando me fui de la estancia, solamente el ovejero,un perro,cosas que pasan. El asunto, una zoncera,un simple cambio e palabras,y el olvido de un mocoso,del q puedo ser su tata. Y yo q no aguanto pulgas,a pesar de mi inorancia, ya no más pedí las cuentas,sin importarme de nada.
No hubiera pasado ésto, si el padre no se marchara,pero los patrones mueren, y después los hijos mandan.Y hasta parece mentira,pero es cosa señalada,q de una sangre pareja,salga la cría cambiada.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 23:58:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right