Como criar um armazenamento persistente

Para criar um armazenamento persistente, crie ao menos um PersistentObject. Cada PersistentObject tem uma chave exclusiva do tipo long.

Criar um armazenamento de dados persistente

Cada PersistentObject tem uma chave longa exclusiva.

  1. Importe as classes e interfaces necessárias.
    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 criar uma chave longa exclusiva, no BlackBerry Integrated Development Environment, digite um valor de string. Por exemplo, com.rim.samples.docs.userinfo
  3. Clique com o botão direito do mouse no projeto e clique em Convert ‘com.rim.samples.docs.userinfo’ to long.
  4. Inclua um comentário em seu código para indicar a string que você usou para gerar a chave longa exclusiva.
  5. Para criar um armazenamento de dados persistente, crie um único objeto estático PersistentObject e invoque PersistentStore.getPersistentObject, usando a chave longa exclusiva como um parâmetro.
    static PersistentObject store;
    static {
    store = PersistentStore.getPersistentObject( 0xa1a569278238dad2L );
    }

Armazenar dados persistentes

  1. Importe as classes e interfaces necessárias.
    import net.rim.device.api.system.PersistentObject;
    import net.rim.device.api.system.PersistentStore;
  2. Invoque setContents() em um PersistentObject. Este método substitui o conteúdo existente pelo novo conteúdo.
  3. Para salvar o novo conteúdo no armazenamento persistente, invoque commit().
    String[] userinfo = {username, password};
    synchronized(store) {
    store.setContents(userinfo); 
    store.commit();
    }
  4. Para usar uma transação em lote para aceitar objetos no armazenamento persistente, invoque PersistentStore.getSynchObject(). Este método recupera o monitoramento do armazenamento persistente que bloqueia o objeto.
    1. Sincronize no objeto.
    2. Invoque commit() conforme necessário. Se algum commit no lote falhar, toda a transação em lote irá falhar.
  5. Para aceitar um objeto monitor separadamente a partir de uma transação em lote, invoque forceCommit() ao sincronizar o objeto monitor.

Armazenar um objeto em uma transação em lote

  1. Para usar uma transação em lote para aceitar objetos no armazenamento persistente, invoque PersistentStore.getSynchObject(). Este método recupera o monitoramento do armazenamento persistente que bloqueia o objeto.
  2. Sincronize no objeto.
  3. Invoque commit() conforme necessário. Se algum commit no lote falhar, toda a transação em lote irá falhar.

Estas informações foram úteis? Gostaríamos de receber seus comentários.