Créer un dossier personnalisé dans la liste des messages

Les messages personnalisés sont gérés dans les dossiers personnalisés. Pour exécuter des opérations sur les messages personnalisés, votre application de terminal BlackBerry doit enregistrer au moins un dossier personnalisé.

  1. Importez les classes et les interfaces requises.
    import net.rim.blackberry.api.messagelist.*;
    import net.rim.device.api.collection.ReadableList;
  2. Créez une classe implémentant l'interface ApplicationMessage.
    public class MLSampleMessage implements ApplicationMessage
  3. Obtenez une référence à un objet ApplicationMessageFolderRegistry.
    ApplicationMessageFolderRegistry reg = 
       ApplicationMessageFolderRegistry.getInstance();
  4. Appelez ApplicationMessageFolderRegistry.registerFolder() pour enregistrer un dossier personnalisé pour chaque groupe de messages.
    // 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. Appelez ApplicationMessageFolder.addListener() pour ajouter un écouteur afin que votre application puisse être prévenue lorsque certains événements de dossier ont lieu. Dans l'échantillon de code suivant, l'application écoute pour détecter les messages supprimés. Pour obtenir la liste de toutes les actions que vous pouvez écouter, consultez la documentation de la classe ApplicationMessageFolderListener dans la référence API de BlackBerry Java SDK.
    deletedFolder.addListener( this, 
       ApplicationMessageFolderListener.MESSAGE_DELETED );
  6. Créez une classe implémentant l'interface ApplicationMessageFolderListener.
    public class AppFolderListener implements ApplicationMessageFolderListener
  7. Implémentez ApplicationMessageFolderListener.actionPerformed() pour exécuter certaines actions lorsqu'un événement de dossier survient.
    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. Appelez ApplicationMessageFolderRegistry.setRootFolderName() pour indiquer le nom du dossier racine pour les dossiers personnalisés de votre application. Le nom du dossier racine s'affiche dans la boîte de dialogue Afficher le dossier de l'application de messagerie lorsqu'une application enregistre plusieurs dossiers d'application de messagerie.
    reg.setRootFolderName( "ML Sample" );

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.