Mengirim pesan ke kontak

Sebelum Anda mulai: Lakukan tugas, Daftarkan aplikasi Anda pada platform BlackBerry Messenger. Pastikan kelas yang menampilkan layar dalam contoh kode berikut menyalurkan referensi ke objek BBMPlatformContext telah dikaitkan dengan aplikasi tersebut.
  1. Impor kelas dan antarmuka yang diperlukan.
    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. Buat kelas yang memperluas MainScreen. Dalam konstruktor untuk kelas layar ini, kirimkan BBMPlatformContext yang terkait dengan aplikasi.
    public class MyBBMScreen extends MainScreen
    {
        public MyBBMScreen(BBMPlatformContext platformContext)
        {
        }
    }
  3. Nyatakan instance BBMPlatformChannel sebagai variabel anggota kelas MyBBMScreen.
    public class MyBBMScreen extends MainScreen
    {
        BBMPlatformChannel _channel;
        public MyBBMScreen(BBMPlatformContext platformContext)
        {
        }
    }
  4. Dalam konstruktor MyBBMScreen, ambil instance layanan pengiriman pesan.
    public MyBBMScreen(BBMPlatformContext platformContext)
    {
        MessagingService myMessagingService = platformContext.getMessagingService();
    }
  5. Buat saluran dengan mengirimkan instance BBMPlatformChannelListener yang akan Anda definisikan di langkah 9.
    public MyBBMScreen(BBMPlatformContext platformContext)
    {
        MessagingService myMessagingService = platformContext.getMessagingService();
        _channel = messagingService.createChannel(_channelListener);
    }
  6. Undang kontak ke aplikasi Anda. Dalam parameter untuk sendInvitation(), Anda dapat menentukan pesan yang akan dikirimkan apabila kontak menerima undangan, sebuah parameter yang akan dikirimkan ke metode utama aplikasi sebagai args[1], dan waktu kedaluwarsa. Contoh kode berikut mengirimkan nilai 0 untuk waktu kedaluwarsa (artinya, undangan tidak pernah kedaluwarsa). Sebuah komponen UI Pemilih kontak akan terbuka agar pengguna dapat memilih kontak yang akan diundang.
    public MyBBMScreen(BBMPlatformContext platformContext)
    {
        MessagingService messagingService = platformContext.getMessagingService();
        _channel = messagingService.createChannel(_channelListener);
        _channel.sendInvitation("Let's play a game", "Chess App", 0);
    }
  7. Dalam kelas MyBBMScreen, tentukan metode pembantu, onContactJoined(), yang diaktifkan oleh metode panggilan balik BBMPlatformChannelListener.contactJoined(). Kirimkan referensi ke kontak yang baru saja bergabung.
    public class MyBBMScreen extends MainScreen
    {
        BBMPlatformChannel _channel;
        public MyBBMScreen(BBMPlatformContext platformContext)
        {
            //code from steps 5 to 7    
        }
        private onContactJoined(BBMPlatformContact contact)
        {
        }
    }
  8. Dalam metode onContactJoined(), buat pesan, bungkus dalam objek BBMPlatformData, dan, dalam blok try-catch, kirimkan pesan tersebut. Dalam contoh kode berikut, pesan dikirimkan ke semua kontak yang telah bergabung dengan saluran, memberi tahu bahwa seorang peserta telah meninggalkan permainan.
    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. Dalam kelas MyBBMScreen, tentukan pendengar saluran, _channelListener, sebagai kelas internal privat. Dalam metode contactJoined(), aktifkan metode onContactJoined() dengan mengirimkan BBMPlatformContact yang baru saja bergabung.
    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) 
            {
            }
       			  }
        };
    }

Apakah informasi ini berguna? Kirimkan komentar Anda kepada kami.