策略模式和Android Service/UI Messaging通信



我有一个Android绑定的服务,通过Messenger与活动通信。我的服务通过如下处理程序捕获新消息:

@Override
public void handleMessage(Message msg) {
    switch (msg.what) {
        case MyService.SEND_BLUETOOTH_MESSAGE:
            ...;
        case MyService.POST_DATA:
            ...;
        case MyService.GET_DATA:
            ...;
    }
}

这一开始很好,但你可以想象,它很快就变成了一个讨厌的太长的方法。我想用一些奇特的策略模式来重构它,但我对如何做到这一点有点困惑。我无法真正摆脱这些常量,因为这是我的活动与服务通信的方式。什么好主意吗?

提前致谢

当你绑定服务到你的活动,你可以获得服务的实例。这样,您就可以直接调用实例上的公共方法,而根本不需要处理消息。

最新更新