Java Android Wear 2.0的请求-响应API?
如何为Android Wear 2.0应用程序实现请求-响应协议 场景: 当我点击手表上的一个按钮时,我想让它从手机上获取一些数据并显示在手表的屏幕上 我的尝试: 我使用Java Android Wear 2.0的请求-响应API?,java,android,wear-os,android-wear-2.0,Java,Android,Wear Os,Android Wear 2.0,如何为Android Wear 2.0应用程序实现请求-响应协议 场景: 当我点击手表上的一个按钮时,我想让它从手机上获取一些数据并显示在手表的屏幕上 我的尝试: 我使用MessageApi实现了一个工作示例,但我不喜欢它。我使用一种方法在一个地方发送一个虚拟的“请求”,我忽略了pendingreult,然后希望最终我会收到一条消息,这将是一个相应的响应 理想情况下,我想要的是: byte[]responseBytes=sendRequest(someRequestBytes)我不确定你试过什么
MessageApi
实现了一个工作示例,但我不喜欢它。我使用一种方法在一个地方发送一个虚拟的“请求”,我忽略了pendingreult
,然后希望最终我会收到一条消息,这将是一个相应的响应
理想情况下,我想要的是:
byte[]responseBytes=sendRequest(someRequestBytes)代码>我不确定你试过什么
但是这段代码应该可以用来发送字节数组
Wearable.MessageApi.sendMessage(googleApiClient, transcriptionNodeId,
VOICE_TRANSCRIPTION_MESSAGE_PATH, voiceData).setResultCallback(
new ResultCallback() {
@Override
public void onResult(SendMessageResult sendMessageResult) {
if (!sendMessageResult.getStatus().isSuccess()) {
// Failed to send message
}
}
}
);
voiceData是一个简单的字节数组。此阵列将由可穿戴设备和手持设备接收
要检索数据,请使用以下命令:
@Override
public void onMessageReceived(MessageEvent messageEvent) {
if (messageEvent.getPath().equals(YOUR_TEXT)) {
messageEvent.getData();//this is your byte array
}
}
我不知道你试过什么
但是这段代码应该可以用来发送字节数组
Wearable.MessageApi.sendMessage(googleApiClient, transcriptionNodeId,
VOICE_TRANSCRIPTION_MESSAGE_PATH, voiceData).setResultCallback(
new ResultCallback() {
@Override
public void onResult(SendMessageResult sendMessageResult) {
if (!sendMessageResult.getStatus().isSuccess()) {
// Failed to send message
}
}
}
);
voiceData是一个简单的字节数组。此阵列将由可穿戴设备和手持设备接收
要检索数据,请使用以下命令:
@Override
public void onMessageReceived(MessageEvent messageEvent) {
if (messageEvent.getPath().equals(YOUR_TEXT)) {
messageEvent.getData();//this is your byte array
}
}
嗯,但是响应在哪里?您的代码正是我在问题中描述的-我这样做了,它工作了,我不喜欢它,并且正在寻找一个更面向请求-响应的API:)但是无论如何,谢谢!这是最快的解决方案。就速度而言最快?有两种方法可以帮助传输数据。另一种方法是使用Wearable.DataApi。但是它也有一些缺点:对于庞大的objectsUmm来说,传输时间很长,但是响应在哪里?您的代码正是我在问题中描述的-我这样做了,它可以工作,我不喜欢它,并且正在寻找一个更面向请求-响应的API:),但是无论如何,谢谢!这是最快的解决方案。就速度而言最快?有两种方法可以帮助传输数据。另一种方法是使用Wearable.DataApi。但它也有一些缺点:庞大对象的传输时间很长。我们的“理想”解决方案是同步函数调用,而这不是设备间通信的工作方式。无线数据传输需要时间,这就是为什么磨损数据和消息API是异步构造的。@String我对异步请求-响应API非常满意-未来、承诺等等。这就是问题的标题和主体。在你的问题中,你说你已经异步实现了这个,但是你不满意它——你更喜欢同步解决方案。我没有看到任何关于体系结构不支持同步的确认。@String我不高兴,因为它不是请求-响应API。我使用一种方法在一个地方发送请求,然后希望收到带有响应的消息。我希望在上面的代码片段中有类似的内容(+-aFuture
wrapper),并进一步澄清:我在下面编写了类似于Vyacheslav的内容。我只是不喜欢它,我可能会包装API。。除非Android提供请求-响应API,否则您的“理想”解决方案是同步函数调用,而这不是设备间通信的工作方式。无线数据传输需要时间,这就是为什么磨损数据和消息API是异步构造的。@String我对异步请求-响应API非常满意-未来、承诺等等。这就是问题的标题和主体。在你的问题中,你说你已经异步实现了这个,但是你不满意它——你更喜欢同步解决方案。我没有看到任何关于体系结构不支持同步的确认。@String我不高兴,因为它不是请求-响应API。我使用一种方法在一个地方发送请求,然后希望收到带有响应的消息。我希望在上面的代码片段中有类似的内容(+-aFuture
wrapper),并进一步澄清:我在下面编写了类似于Vyacheslav的内容。我只是不喜欢它,我可能会包装API。。除非Android提供请求-响应API。