绑定到远程服务(AIDL)表单处理程序类android
我有一个监听UDP套接字的远程服务。所有UDP发送/接收都是通过服务进行的。此服务从启动时开始,直到用户卸载该服务为止。多个应用程序(客户端应用程序)可以与此服务联系,以便通过UDP套接字发送数据 当消息接收到远程服务时,它会广播消息。客户端应用程序可以通过广播接收器捕捉这些广播消息。为了处理捕获的消息,客户端应用程序有一个处理程序类(纯java类)。此处理程序类需要绑定到远程服务,以便将消息发送回(服务) 所有这些通信都发生在后台(没有与UI交互)绑定到远程服务(AIDL)表单处理程序类android,android,android-service,aidl,android-service-binding,Android,Android Service,Aidl,Android Service Binding,我有一个监听UDP套接字的远程服务。所有UDP发送/接收都是通过服务进行的。此服务从启动时开始,直到用户卸载该服务为止。多个应用程序(客户端应用程序)可以与此服务联系,以便通过UDP套接字发送数据 当消息接收到远程服务时,它会广播消息。客户端应用程序可以通过广播接收器捕捉这些广播消息。为了处理捕获的消息,客户端应用程序有一个处理程序类(纯java类)。此处理程序类需要绑定到远程服务,以便将消息发送回(服务) 所有这些通信都发生在后台(没有与UI交互) 那么如何将处理程序类与远程服务绑定呢。我可以
那么如何将处理程序类与远程服务绑定呢。我可以使用普通java类的服务连接吗?您可以从POJO(普通旧java对象)绑定到
服务。您需要访问上下文
,以便POJO调用bindService()
。您可以让客户端应用程序将上下文作为参数传递给POJO的构造函数,或者作为POJO的其他方法的参数
您的POJO需要在调用bindService()
时提供一个ServiceConnection
。当连接和断开服务时,此ServiceConnection
对象将得到回调。您的POJO需要跟踪它是否有到服务的活动连接
,以便在需要时可以绑定到服务
请注意,对bindService()
的调用是异步的。这意味着您需要等待回调ServiceConnection.onServiceConnected()
,然后才能实际调用绑定的服务上的方法。对onServiceConnected()
的调用在主(UI)线程上执行。这可能会对应用程序的体系结构产生一些影响。您可以从POJO(普通旧Java对象)绑定到服务。您需要访问上下文
,以便POJO调用bindService()
。您可以让客户端应用程序将上下文作为参数传递给POJO的构造函数,或者作为POJO的其他方法的参数
您的POJO需要在调用bindService()
时提供一个ServiceConnection
。当连接和断开服务时,此ServiceConnection
对象将得到回调。您的POJO需要跟踪它是否有到服务的活动连接
,以便在需要时可以绑定到服务
请注意,对bindService()
的调用是异步的。这意味着您需要等待回调ServiceConnection.onServiceConnected()
,然后才能实际调用绑定的服务上的方法。对onServiceConnected()
的调用在主(UI)线程上执行。这可能会对应用程序的体系结构产生一些影响。Handler
在Android世界中具有特定的意义。在这里,你并不是真的指安卓处理器,所以也许你应该选择另一个词。这可能会减少混乱。Handler
在Android世界中具有特定的含义。在这里,你并不是真的指安卓处理器,所以也许你应该选择另一个词。这可能会减少混乱。