Entwicklungshandbuch
Local Navigation
- Überblick über das BlackBerry Messenger SDK
- BlackBerry Messenger-Versionsabhängigkeiten
- Wichtige Klassen der BlackBerry Messenger-Plattform
- Registrieren Ihrer Anwendung bei der BlackBerry Messenger-Plattform
- Interaktion mit Kontakten
- Starten eines BlackBerry Messenger-Chats
- Senden einer Downloadeinladung an einen Kontakt
- Senden einer Teilnahmeeinladung an einen Kontakt
- Senden einer Nachricht an einen Kontakt
- Senden einer Datei an einen Kontakt
- Anzeigen einer Liste von Kontakten, die Ihre Anwendung installiert haben
- Reagieren auf Änderungen eines Kontakts in der Kontaktliste
- Senden einer Sitzungseinladung an einen Kontakt
- Hosten einer öffentlichen Sitzung
- Teilnahme an einer öffentlichen BlackBerry Messenger-Sitzung
- Senden einer Nachricht an alle Teilnehmer einer Sitzung
- Freigeben von Inhalt für BlackBerry Messenger-Kontakte
- Arbeiten mit dem Profil und Profilfeld des Benutzers
- Definieren von Dienst-Listenern
- Verwalten der BlackBerry Messenger-Einstellungen Ihrer Anwendung
- Fehlerbehebung
- Rückmeldung
- Rechtliche Hinweise
Produktunterlagen
>
Entwicklerdokumentation
>
BlackBerry Messenger Social Platform SDK
>
Entwicklungshandbuch
BlackBerry Messenger SDK - 1.3
Senden einer Nachricht an einen Kontakt
Vor Beginn erforderliche Aktion: Führen Sie die Aufgabe Registrieren Ihrer Anwendung bei der BlackBerry Messenger-Plattform aus. Vergewissern Sie sich, dass die Klasse, die im folgenden Codebeispiel den Bildschirm anzeigt, einen Verweis auf das BBMPlatformContext-Objekt übergibt, das mit der Anwendung verknüpft ist.
- Importieren Sie die erforderlichen Klassen und Schnittstellen.
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.*;
- Erstellen Sie eine Klasse, die MainScreen erweitert. Geben Sie im Konstruktor für diese Screen-Klasse den mit der Anwendung verknüpften BBMPlatformContext ein.
public class MyBBMScreen extends MainScreen { public MyBBMScreen(BBMPlatformContext platformContext) { } } - Deklarieren Sie eine Instanz von BBMPlatformChannel als Member-Variable der MyBBMScreen-Klasse.
public class MyBBMScreen extends MainScreen { BBMPlatformChannel _channel; public MyBBMScreen(BBMPlatformContext platformContext) { } } - Rufen Sie im MyBBMScreen-Konstruktor eine Instanz des Nachrichtendiensts ab.
public MyBBMScreen(BBMPlatformContext platformContext) { MessagingService myMessagingService = platformContext.getMessagingService(); } - Erstellen Sie einen Kanal, der eine Instanz eines BBMPlatformChannelListener übergibt, die Sie im Schritt 9 definieren werden.
public MyBBMScreen(BBMPlatformContext platformContext) { MessagingService myMessagingService = platformContext.getMessagingService(); _channel = messagingService.createChannel(_channelListener); } - Laden Sie einen Kontakt zu Ihrer Anwendung ein. In den Parametern für sendInvitation() können Sie eine Nachricht festlegen, die angezeigt werden soll, wenn der Kontakt die Einladung empfängt, einen Parameter, der als args[1] an die Hauptmethode der Anwendung übergeben wird, und eine Ablaufzeit. Im folgenden Codebeispiel wird als Ablaufzeit der Wert "0" übergeben (d. h. die Einladung läuft nie ab). Eine Benutzeroberflächenkomponente für die Kontaktauswahl wird geöffnet, aus welcher der Benutzer einen Kontakt für die Einladung auswählen kann.
public MyBBMScreen(BBMPlatformContext platformContext) { MessagingService messagingService = platformContext.getMessagingService(); _channel = messagingService.createChannel(_channelListener); _channel.sendInvitation("Let's play a game", "Chess App", 0); } - Definieren Sie in der MyBBMScreen-Klasse eine Hilfsmethode, onContactJoined(), die von der BBMPlatformChannelListener.contactJoined()-Rückrufmethode aufgerufen wird. Übergeben Sie eine Referenz auf den Kontakt, der sich gerade angemeldet hat.
public class MyBBMScreen extends MainScreen { BBMPlatformChannel _channel; public MyBBMScreen(BBMPlatformContext platformContext) { //code from steps 5 to 7 } private onContactJoined(BBMPlatformContact contact) { } } - Erstellen Sie in der onContactJoined()-Methode eine Nachricht, binden Sie sie in ein BBMPlatformData-Objekt ein, und senden Sie sie in einem try-catch-Block. Im folgenden Codebeispiel wird an alle Kontakte, die sich bei dem Kanal angemeldet haben, die Nachricht gesendet, dass ein Teilnehmer das Spiel verlassen hat.
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 } } - Definieren Sie in der MyBBMScreen-Klasse den Kanallistener, _channelListener, als private innere Klasse. Rufen Sie in der contactJoined()-Methode die onContactJoined()-Methode auf, und übergeben Sie dabei den BBMPlatformContact, der sich gerade angemeldet hat.
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) { } } }; }
Nächstes Thema: Codebeispiel: Senden einer Nachricht an einen Kontakt
Vorheriges Thema: Codebeispiel: Senden einer Teilnahmeeinladung an einen Kontakt
Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.