Creazione di una memoria permanente

Per creare una memoria permanente, è necessario creare almeno un oggetto PersistentObject. Ogni oggetto PersistentObject ha una chiave univoca di tipo long.

Creazione di un archivio dati permanente

Ogni PersistentObject ha una chiave univoca di tipo Long.

  1. Importare le classi e le interfacce richieste.
    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. Per creare una chiave univoca di tipo Long, immettere in BlackBerry Integrated Development Environment un valore stringa. Ad esempio, com.rim.samples.docs.userinfo
  3. Fare clic con il pulsante destro del mouse sulla stringa, quindi fare clic su Convert ‘com.rim.samples.docs.userinfo’ to long.
  4. Includere un commento nel codice per indicare la stringa utilizzata per generare la chiave univoca di tipo Long.
  5. Per creare un archivio dati permanente, creare un singolo oggetto PersistentObject statico e richiamare PersistentStore.getPersistentObject, utilizzando la chiave di tipo Long come parametro.
    static PersistentObject store;
    static {
    store = PersistentStore.getPersistentObject( 0xa1a569278238dad2L );
    }

Archiviazione dei dati permanenti

  1. Importare le classi e le interfacce richieste.
    import net.rim.device.api.system.PersistentObject;
    import net.rim.device.api.system.PersistentStore;
  2. Richiamare setContents() in un PersistentObject. Questo metodo sostituisce il contenuto esistente con il nuovo contenuto.
  3. Per salvare il nuovo contenuto nell'archivio permanente, richiamare commit().
    String[] userinfo = {username, password};
    synchronized(store) {
    store.setContents(userinfo); 
    store.commit();
    }
  4. Per utilizzare una transazione batch per eseguire il commit degli oggetti nell'archivio permanente, richiamare PersistentStore.getSynchObject(). Questo metodo recupera l'oggetto di controllo della memoria persistente che blocca l'oggetto.
    1. Sincronizzare l'oggetto.
    2. Richiamare commit() come necessario. Se qualsiasi operazione di commit nel batch non riesce, l'intera transazione batch non riesce.
  5. Per eseguire il commit di un oggetto di controllo separatamente da una transazione batch, richiamare forceCommit() quando si sincronizza l'oggetto di controllo.

Memorizzazione di un oggetto in una transazione batch

  1. Per utilizzare una transazione batch per eseguire il commit degli oggetti nell'archivio permanente, richiamare PersistentStore.getSynchObject(). Questo metodo recupera l'oggetto di controllo della memoria persistente che blocca l'oggetto.
  2. Sincronizzare l'oggetto.
  3. Richiamare commit() come necessario. Se qualsiasi operazione di commit nel batch non riesce, l'intera transazione batch non riesce.
Argomento precedente: Pulizia di oggetti permanenti

Le informazioni sono state utili? Inviateci i vostri commenti.