【发布时间】:2017-08-14 15:41:00
【问题描述】:
如何为 Android Wear 2.0 应用实现请求-响应协议?
场景:
当我点击手表上的按钮时,我希望它从手机中获取一些数据并将其显示在手表的屏幕上。
我尝试了什么:
我使用MessageApi 实现了一个工作示例,但我不喜欢它。我使用一种方法在一个地方发送了一个虚拟“请求”,我忽略了PendingResult,然后希望最终我会收到一条相应响应的消息。
理想情况下,我想要的是:
byte[] responseBytes = sendRequest(someRequestBytes);
【问题讨论】:
-
您的“理想”解决方案是同步函数调用,这不是设备间通信的工作方式。无线数据传输需要时间,这就是 Wear 数据和消息 API 采用异步结构的原因。
-
@String 我对异步请求-响应 API 非常满意——Futures、Promises 等等。这就是问题的标题和正文。
-
嗯。在您的问题中,您说您已经异步实现了此功能,但您对此不满意 - 您更喜欢同步解决方案。我没有看到架构不支持同步的任何确认。
-
@String 我不高兴,因为它不是请求-响应 API。我使用一种方法在一个地方发送请求,然后 hope 接收带有响应的消息。我想要上面的 sn-p 中的东西(+-
Future包装器) -
并进一步澄清:我有类似维亚切斯拉夫在下面写的东西。我只是不喜欢它,我可能会包装 API.. 除非 Android 提供请求-响应 API。
标签: java android wear-os android-wear-2.0