Crear un almacén constante

Para crear un almacén constante, cree al menos un objeto PersistentObject. Cada objeto PersistentObject tiene una clave única del tipo long.

Crear un almacén de datos constantes

Cada PersistentObject tiene una clave única extensa.

  1. Importe las clases y las interfaces necesarias.
    import net.rim.device.api.system.PersistentObject;
    import net.rim.device.api.system.PersistentStore;
    import java.lang.String;
    import net.rim.device.api.ui.component.Dialog;
  2. Para crear una clave única extensa, en BlackBerry Integrated Development Environment, escriba un valor de cadena. Por ejemplo, com.rim.samples.docs.userinfo
  3. Haga clic con el botón derecho en la cadena y haga clic en Convert ‘com.rim.samples.docs.userinfo’ to long.
  4. Incluya un comentario en el código para indicar la cadena que ha utilizado para generar dicha clave única extensa.
  5. Para crear un almacén de datos constantes, cree un único objeto estático PersistentObject e invoque PersistentStore.getPersistentObject, utilizando la clave única extensa como parámetro.
    static PersistentObject store;
    static {
    store = PersistentStore.getPersistentObject( 0xa1a569278238dad2L );
    }

Almacenar datos constantes

  1. Importe las clases y las interfaces necesarias.
    import net.rim.device.api.system.PersistentObject;
    import net.rim.device.api.system.PersistentStore;
  2. Invoque setContents() en un PersistentObject. Este método sustituye el contenido existente por el contenido nuevo.
  3. Para guardar el contenido nuevo en el almacén constante, invoque commit().
    String[] userinfo = {username, password};
    synchronized(store) {
    store.setContents(userinfo); 
    store.commit();
    }
  4. Para utilizar una transacción de lote con el objeto de guardar objetos en el almacén constante, invoque PersistentStore.getSynchObject(). Este método recupera el objeto monitor del almacén constante que bloquea el objeto.
    1. Realice la sincronización en el objeto.
    2. Invoque commit() según sea necesario. En el caso de que cualquiera de los objetos commit de los lotes generara error, la transacción del lote al completo será incorrecta.
  5. Para guardar un objeto monitor independientemente de la transacción de lote, invoque forceCommit() al tiempo que sincroniza el objeto monitor.

Almacenar un objeto en una transacción de lote

  1. Para utilizar una transacción de lote con el objeto de guardar objetos en el almacén constante, invoque PersistentStore.getSynchObject(). Este método recupera el objeto monitor del almacén constante que bloquea el objeto.
  2. Realice la sincronización en el objeto.
  3. Invoque commit() según sea necesario. En el caso de que cualquiera de los objetos commit de los lotes generara error, la transacción del lote al completo será incorrecta.

¿Le ha resultado útil esta información? Envíenos sus comentarios.