Ontwikkelingshandleiding

Local Navigation

Een bericht verzenden naar een contactpersoon

Vóór u begint: Zorg ervoor dat u de taak Uw toepassing registreren bij het BlackBerry Messenger-platform hebt uitgevoerd en dat de klasse die in het volgende codevoorbeeld het scherm een verwijzing doorgeeft naar het object BBMPlatformContext dat aan de toepassing is gekoppeld.
  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(NNMPlatformContact 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, en wordt de nieuwe deelnemer verwelkomd.
    private onContactJoined(BBMPlatformContact contact)
    {
        String welcomeMsg = "Please welcome " + contact.getDisplayName() + " to the game.";
        BBMPlatformData data = new BBMPlatformData(welcomeMsg);
        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 contactJoined(BBMPlatformConnection conn, BBMPlatformContact contact, String cookie) 
            {
                onContactJoined(contact);
            }
            public void contactDeclined(BBMPlatformConnection conn, BBMPlatformContact contact) 
            {
            }
            public void contactLeft(BBMPlatformConnection conn, BBMPlatformContact contact) 
            {
            }
            public void dataReceived(BBMPlatformConnection conn, BBMPlatformContact sender, BBMPlatformData data) 
            {
            }
        };
    }

Was deze informatie nuttig? Stuur ons uw opmerkingen.