Guide de développement

Local Navigation

Répondez aux modifications d'un contact dans votre liste de contacts

Avant de commencer : Assurez-vous que vous avez terminé la tâche Enregistrez votre application sur la plate-forme BlackBerry Messenger et que la classe qui affiche l'écran passe une référence à l'objet BBMPlatformContext associé à l'application.
  1. Importez les classes et les interfaces requises.
    import net.rim.blackberry.api.bbm.platform.*;
    import net.rim.blackberry.api.bbm.platform.service.*;
    import net.rim.device.api.ui.component.*;
  2. Créez une classe qui met en oeuvre l'interface PresenceListener et développe MainScreen. Dans le constructeur pour cette classe d'écran, transmettez l'objet BBMPlatformContext associé à l'application.
    public class MyBBMContactListScreen implements PresenceListener extends MainScreen
    {
        public MyBBMContactListScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  3. Dans le constructeur, appelez BBMPlatformContext.getContactListService().setPresenceListener() pour attribuer l'objet PresenceListener à votre application.
    public class MyBBMContactListScreen implements PresenceListener
    {
        public MyBBMContactListScreen(BBMPlatformContext platformContext) 
        {
            platformContext.getContactListService().setPresenceListener(this);
        }
    }
  4. Dans la classe MyBBMContactListScreen, implémentez la méthode PresenceListener.presenceUpdated(). Le code suivant affiche une boîte de dialogue qui informe l'utilisateur des modifications d'un contact dans votre liste de contacts BlackBerry Messenger L'échantillon de code suivant utilise une méthode d'assistance, getEventName(), pour analyser le paramètre eventType et renvoyer un String lisible.
    public void presenceUpdated(BBMPlatformContact contact, int eventType)
    {
        final String str = "[" + getEventName(eventType) + "] was changed by " + contact.getDisplayName();
        Dialog.inform(str);
    }
    private String getEventName(int eventType)
    {
        String eventName;
        switch(eventType)
        {
            case PresenceListener.EVENT_TYPE_DISPLAY_PICTURE:
                eventName = "Display picture";
                break;
            case PresenceListener.EVENT_TYPE_DISPLAY_NAME:
                eventName = "Display name";
                break;
            case PresenceListener.EVENT_TYPE_PERSONAL_MESSAGE:
                eventName = "Personal Message";
                break;
            case PresenceListener.EVENT_TYPE_STATUS:
                eventName = "Status";
                break;
            default:
                eventName = "Default";
        }
    }

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