Komunikasi layanan dan aktivitas

Saya membuat klien IM untuk Android dan saya ingin tahu bagaimana melakukan komunikasi antara Layanan dan Aktivitas.

Saya memiliki Layanan yang membuat koneksi ke gtalk, mendapatkan kontak, mendengarkan pesan masuk..., dan saya memiliki aktivitas yang merupakan UI aplikasi saya.

Dalam aktivitas saya membuat layanan dan mengikat aktivitas ke dalamnya. Saya memiliki antarmuka aidl untuk berkomunikasi antara layanan dan aktivitas dengan metode ini:

  String[] getContacts(); 
    String[] getPressence();
    int setConnection(int type);
    void logOut(); 

Sejauh ini bagus, saya bisa membuat koneksi ke gtalk, saya bisa mendapatkan kontak dan statusnya, tapi sekarang saya ingin melakukan fungsi dalam aktivitas yang mendengarkan ketika layanan mendapat pesan dan memperbarui UI...

Untuk ini saya membuat file aidl lain dengan metode void receivedMessage(String message); dan setiap kali layanan mendapat pesan, saya memanggil metode itu, dalam aktivitas saya menampilkan pesan yang disampaikan dalam string pesan dan saya mendapatkan pengecualian NullPointer.

Apakah saya harus menerima pesan di penangan atau dengan metode sinkronisasi atau asinkron? Saya pemula di Android dan sekarang saya mempelajari bagian layanan jadi tolong bantu saya.

Terima kasih banyak!


person Cata    schedule 20.09.2010    source sumber


Jawaban (1)


Saya memecahkan masalah, saya hanya perlu mereferensikan pendengar dari aktivitas tersebut, agar layanan dapat menggunakan pendengar.

person Cata    schedule 20.09.2010