绑定到远程服务(AIDL)表单处理程序类android

绑定到远程服务(AIDL)表单处理程序类android,android,android-service,aidl,android-service-binding,Android,Android Service,Aidl,Android Service Binding,我有一个监听UDP套接字的远程服务。所有UDP发送/接收都是通过服务进行的。此服务从启动时开始,直到用户卸载该服务为止。多个应用程序(客户端应用程序)可以与此服务联系,以便通过UDP套接字发送数据 当消息接收到远程服务时,它会广播消息。客户端应用程序可以通过广播接收器捕捉这些广播消息。为了处理捕获的消息,客户端应用程序有一个处理程序类(纯java类)。此处理程序类需要绑定到远程服务,以便将消息发送回(服务) 所有这些通信都发生在后台(没有与UI交互) 那么如何将处理程序类与远程服务绑定呢。我可以

我有一个监听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世界中具有特定的含义。在这里,你并不是真的指安卓
处理器,所以也许你应该选择另一个词。这可能会减少混乱。