我有2个Android项目,例如Project A
和Project B
。
Project A
是library
项目,已在reference
中添加为Project B
。
我从webserver
中的Project A
收到了一些数据。我只是想通知Project B
已收到数据并且它应该开始一些过程。
我想我必须实现事件监听器,但我无法理解它的工作原理。
答案 0 :(得分:1)
您可以使用android.os.handler
项目B
Callback callback = new Callback() {
public boolean handleMessage(Message msg) {
//update project B code
int data=msg.arg1; //use bundle for more complex data
}
};
在项目B中设置项目A时,为回调创建一个处理程序:
Handler handler = new Handler(callback);
通过编写一个setter方法将Handler传递给Project A,该方法将处理程序分配给项目A中声明的处理程序(例如Handler mHandler = null;)。
ProjectA.setHandler(handler);
在项目A中,当您需要更新B时,通过处理程序发送消息:
Message msg=Message.obtain();
int value=10; //whatever
msg.arg1=value; //or use a Bundle
mHandler.sendMessage(msg);