การสื่อสารการบริการและกิจกรรม

ฉันกำลังสร้างไคลเอนต์ IM สำหรับ Android และฉันต้องการทราบวิธีการสื่อสารระหว่างบริการและกิจกรรม

ฉันมีบริการที่สร้างการเชื่อมต่อกับ gtalk รับผู้ติดต่อ ฟังข้อความขาเข้า... และฉันมีกิจกรรมที่เป็น UI ของแอปพลิเคชันของฉัน

ในกิจกรรม ฉันสร้างบริการและผูกกิจกรรมเข้ากับบริการนั้น ฉันมีอินเทอร์เฟซ Aidl เพื่อสื่อสารระหว่างบริการและกิจกรรมด้วยวิธีนี้:

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

จนถึงตอนนี้ดีมาก ฉันสามารถเชื่อมต่อกับ gtalk ได้ รับผู้ติดต่อและสถานะได้ แต่ตอนนี้ฉันต้องการทำหน้าที่ในกิจกรรมที่ฟังเมื่อบริการได้รับข้อความและอัปเดต UI...

สำหรับสิ่งนี้ ฉันได้สร้างไฟล์ AIDL อีกไฟล์ด้วย metod void receivedMessage(String message); และเมื่อใดก็ตามที่บริการได้รับข้อความ ฉันจะเรียกเมธอดนั้น ในกิจกรรม ฉันแสดงข้อความที่ส่งผ่านในข้อความ String และฉันได้รับข้อยกเว้น NullPointer

ฉันจำเป็นต้องได้รับข้อความในตัวจัดการหรือโดยวิธี sync หรือ async หรือไม่? ฉันเป็นมือใหม่ใน Android และตอนนี้ฉันเรียนรู้เกี่ยวกับบริการแล้ว ดังนั้นโปรดช่วยฉันด้วย

ขอบคุณมาก!


person Cata    schedule 20.09.2010    source แหล่งที่มา


คำตอบ (1)


ฉันแก้ไขปัญหาแล้ว ฉันเพียงแต่อ้างอิงผู้ฟังจากกิจกรรมเท่านั้น เพื่อใช้บริการผู้ฟัง

person Cata    schedule 20.09.2010