Crear una carpeta personalizada en la lista de mensajes

Los mensajes personalizados se guardan en las carpetas personalizadas. Para realizar operaciones en mensajes personalizados, su aplicación de dispositivo BlackBerry debe registrar por lo menos una carpeta personalizada.

  1. Importe las clases y las interfaces necesarias.
    import net.rim.blackberry.api.messagelist.*;
    import net.rim.device.api.collection.ReadableList;
  2. Cree una clase que implemente la interfaz ApplicationMessage.
    public class MLSampleMessage implements ApplicationMessage
  3. Obtenga una referencia a un objeto ApplicationMessageFolderRegistry.
    ApplicationMessageFolderRegistry reg = 
       ApplicationMessageFolderRegistry.getInstance();
  4. Invoque ApplicationMessageFolderRegistry.registerFolder() para registrar una carpeta personalizada para cada recopilación de mensajes.
    // 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. Invoque ApplicationMessageFolder.addListener() para agregar un servicio de escucha de forma que se pueda notificar a su aplicación cuando se produzcan eventos específicos de carpeta. En el siguiente ejemplo de código, la aplicación rastrea los mensajes eliminados. Para obtener una lista de todas las acciones que puede escuchar, consulte la documentación de la clase ApplicationMessageFolderListener en la referencia de la API para BlackBerry Java SDK.
    deletedFolder.addListener( this, 
       ApplicationMessageFolderListener.MESSAGE_DELETED );
  6. Cree una clase que implemente la interfaz ApplicationMessageFolderListener.
    public class AppFolderListener implements ApplicationMessageFolderListener
  7. Implemente ApplicationMessageFolderListener.actionPerformed() para realizar acciones cuando ocurra un evento de carpeta.
    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. Invoque ApplicationMessageFolderRegistry.setRootFolderName() para especificar el nombre de la carpeta raíz de las carpetas personalizadas de su aplicación. El nombre de la carpeta raíz aparece en el cuadro de diálogo Ver carpeta de la aplicación Mensajes cuando una aplicación registra más de una carpeta de mensajes de aplicación.
    reg.setRootFolderName( "ML Sample" );

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