ฉันกำลังสร้างไคลเอนต์ 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 และตอนนี้ฉันเรียนรู้เกี่ยวกับบริการแล้ว ดังนั้นโปรดช่วยฉันด้วย
ขอบคุณมาก!