我想为网络通信实现一个事件调度程序。一个活动应该使用这样的函数在这个调度器上注册一个监听器:
void addListener(String type, Listener listener)
另一方面,我需要这样一个函数来请求服务器:
void request(String type, JSONObject data)
我决定使用服务来保持连接并分派事件,原因有两个:
- 使其可以从每项活动中访问
- 使用为 Android 应用程序指定的生命周期
此服务必须对其他应用程序不可见,因此不需要 IPC。我尝试将服务绑定到我的活动并使用android.os.IBinder来创建用于通信的android.os.Messenger 。(如此处所述:绑定服务)但我猜消息传递和响应消息并不真正符合我的要求。将侦听器注册到服务并调用这些侦听器来操作活动视图的最佳方法是什么?可能会让事情变得更加困难:如何为服务使用线程以避免阻塞请求中的 UI?有没有人知道如何做到这一点或一些好的资源来调查? 谢谢 :)