Creazione di una cartella personalizzata nell'elenco messaggi

I messaggi personalizzati vengono conservati in cartelle personalizzate. Per eseguire operazioni sui messaggi personalizzati, l'applicazione BlackBerry deve registrare almeno una cartella personalizzata.

  1. Importare le classi e le interfacce richieste.
    import net.rim.blackberry.api.messagelist.*;
    import net.rim.device.api.collection.ReadableList;
  2. Creare una classe che implementi l'interfaccia ApplicationMessage.
    public class MLSampleMessage implements ApplicationMessage
  3. Ottenere un riferimento a un oggetto ApplicationMessageFolderRegistry.
    ApplicationMessageFolderRegistry reg = 
       ApplicationMessageFolderRegistry.getInstance();
  4. Richiamare ApplicationMessageFolderRegistry.registerFolder() per registrare una cartella personalizzata per ogni raccolta di messaggi.
    // collections of MLSampleMessage instances 
    ReadableList inboxMessages = messages.getInboxMessages(); 
    ReadableList deletedMessages = messages.getDeletedMessages(); 
    ApplicationMessageFolder inboxFolder = reg.registerFolder( 
       INBOX_FOLDER_ID, 
       "Inbox", 
       inboxMessages );
    ApplicationMessageFolder deletedFolder = reg.registerFolder( 
       DELETED_FOLDER_ID, 
       "Deleted Messages",   
       deletedMessages, 
       false );
  5. Richiamare ApplicationMessageFolder.addListener() per aggiungere un listener, in modo che l'applicazione possa ricevere una notifica quando si verificano eventi relativi a una cartella specifica. Nel seguente esempio di codice, l'applicazione rileva i messaggi eliminati. Per un elenco di tutte le azioni che è possibile rilevare, vedere la documentazione relativa alla classe ApplicationMessageFolderListener nel riferimento API per l'SDK di BlackBerry Java SDK.
    deletedFolder.addListener( this, 
       ApplicationMessageFolderListener.MESSAGE_DELETED );
  6. Creare una classe che implementi l'interfaccia ApplicationMessageFolderListener.
    public class AppFolderListener implements ApplicationMessageFolderListener
  7. Implementare ApplicationMessageFolderListener.actionPerformed() per eseguire azioni quando si verifica un evento relativo a una cartella.
    public void actionPerformed( int action, ApplicationMessage[] messages, 
       ApplicationMessageFolder folder ) 
    {
       // check if action was performed on multiple messages
       if( messages.length == 1 )  
       {
         switch( action ) 
         {
            case ApplicationMessageFolderListener.MESSAGE_DELETED:
               messageStore.deleteInboxMessage( message );
       ...
  8. Richiamare ApplicationMessageFolderRegistry.setRootFolderName() per specificare il nome della cartella principale per le cartelle personalizzate dell'applicazione. Quando un'applicazione registra più cartelle messaggi dell'applicazione, il nome della cartella principale viene visualizzato nella finestra di dialogo Visualizza cartella dell'applicazione Messaggi.
    reg.setRootFolderName( "ML Sample" );

Le informazioni sono state utili? Inviateci i vostri commenti.