Ontwikkelingshandleiding

Local Navigation

Een bericht verzenden naar een contactpersoon

Vóór u begint: Voltooi de taak en registreer uw toepassing bij het BlackBerry Messenger-platform. Controleer of in het volgende codeervoorbeeld de klasse van het weergegeven scherm een verwijzing naar het BBMPlatformContext-object doorgeeft dat is gekoppeld aan de toepassing.
  1. Importeer de noodzakelijke klassen en interfaces.
    import net.rim.blackberry.api.bbm.platform.*;
    import net.rim.blackberry.api.bbm.platform.io.*;
    import net.rim.blackberry.api.bbm.platform.profile.*;
    import net.rim.blackberry.api.bbm.platform.service.*;
    import net.rim.device.api.ui.component.*;
  2. Maak een klasse die MainScreen uitbreidt. Geef in de constructor voor deze schermklasse de aan de toepassing gekoppelde BBMPlatformContext door.
    public class MyBBMScreen extends MainScreen
    {
        public MyBBMScreen(BBMPlatformContext platformContext)
        {
        }
    }
  3. Declareer een exemplaar van BBMPlatformChannel als een lidvariabele van de klasse MyBBMScreen.
    public class MyBBMScreen extends MainScreen
    {
        BBMPlatformChannel _channel;
        public MyBBMScreen(BBMPlatformContext platformContext)
        {
        }
    }
  4. Haal in de MyBBMScreen-constructor een exemplaar op van de berichtenservice.
    public MyBBMScreen(BBMPlatformContext platformContext)
    {
        MessagingService myMessagingService = platformContext.getMessagingService();
    }
  5. Maak een kanaal dat een exemplaar van een BBMPlatformChannelListener doorgeeft dat in u in stap 9 zult definiëren.
    public MyBBMScreen(BBMPlatformContext platformContext)
    {
        MessagingService myMessagingService = platformContext.getMessagingService();
        _channel = messagingService.createChannel(_channelListener);
    }
  6. Nodig een contactpersoon voor uw toepassing uit. In de parameters voor sendInvitation() kunt u een bericht opgeven om te worden bezorgd wanneer de contactpersoon de uitnodiging ontvangt, een parameter opgeven die aan de hoofdmethode van de toepassing wordt doorgegeven zoals args[1], en een vervaltijd opgeven. In het volgende codevoorbeeld wordt de waarde 0 opgegeven voor de vervaltijd (dit wil zeggen dat de uitnodiging nooit verloopt ). Er wordt een gebruikersinterfaceonderdeel voor het kiezen van contactpersonen geopend voor de gebruiker, waarin deze een contactpersoon kan kiezen om uit te nodigen.
    public MyBBMScreen(BBMPlatformContext platformContext)
    {
        MessagingService messagingService = platformContext.getMessagingService();
        _channel = messagingService.createChannel(_channelListener);
        _channel.sendInvitation("Let's play a game", "Chess App", 0);
    }
  7. Definieer in de klasse MyBBMScreen een helpermethode, onContactJoined(), die door de retouraanroepmethode BBMPlatformChannelListener.contactJoined() wordt aangeroepen. Geef een verwijzing door naar de contactpersoon die zich zojuist heeft aangesloten.
    public class MyBBMScreen extends MainScreen
    {
        BBMPlatformChannel _channel;
        public MyBBMScreen(BBMPlatformContext platformContext)
        {
            //code from steps 5 to 7    
        }
        private onContactJoined(BBMPlatformContact contact)
        {
        }
    }
  8. Maak in de methode onContactJoined() een bericht, pak dit in een BBMPlatformData-object in en verzend het bericht in een 'try-catch'-blok. In het volgende codevoorbeeld wordt het bericht verzonden naar alle contactpersonen die zich hebben aangesloten bij het kanaal, met de mededeling dat een deelnemer het spel heeft verlaten.
    private void onContactLeft(BBMPlatformContact contact)
    {
        String goodbyeMsg = contact.getDisplayName() + " has left the game.";
        BBMPlatformData data = new BBMPlatformData(goodbyeMsg);
        try {
            _channel.sendData(data, _channel.getContactList());
        }
        catch (BBMPlatformException e) 
        {
            // Error handler code
        }
    }
  9. Definieer in de klasse MyBBMScreen de kanaallistener, _channelListener, zoals een binnenste privéklasse. Roep in de methode contactJoined() de methode onContactJoined() aan die de BBMPlatformContact doorgeeft die zich zojuist heeft aangesloten.
    public class MyBBMScreen extends MainScreen
    {
        public MyBBMScreen(BBMPlatformContext platformContext)
        {
            //code from steps 4 to 6
        }
        private void onContactJoined(BBMPlatformContact contact) 
        {
            //code from step 8
        }
        private BBMPlatformChannelListener _channelListener = new BBMPlatformChannelListener() 
        {
            public void contactsInvited(BBMPlatformConnection conn, BBMPlatformContactList 
                                         contactList) 
            {
            }
            public void contactsJoined(BBMPlatformConnection conn, BBMPlatformContactList
                                       contacts, String cookie, int type) 
            {
            }
            public void contactDeclined(BBMPlatformConnection conn, 
                                         BBMPlatformContact contact) 
            {
            }
            public void contactLeft(BBMPlatformConnection conn, BBMPlatformContact contact) 
            {
                onContactLeft(contact);
            }
            public void dataReceived(BBMPlatformConnection conn, BBMPlatformContact sender, 
                                      BBMPlatformData data) 
            {
            }
       			  }
        };
    }

Was deze informatie nuttig? Stuur ons uw opmerkingen.