Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Wear 2.0的请求-响应API?_Java_Android_Wear Os_Android Wear 2.0 - Fatal编程技术网

Java Android Wear 2.0的请求-响应API?

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)我不确定你试过什么

如何为Android Wear 2.0应用程序实现请求-响应协议

场景:

当我点击手表上的一个按钮时,我想让它从手机上获取一些数据并显示在手表的屏幕上

我的尝试:

我使用
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。我使用一种方法在一个地方发送请求,然后希望收到带有响应的消息。我希望在上面的代码片段中有类似的内容(+-a
Future
wrapper),并进一步澄清:我在下面编写了类似于Vyacheslav的内容。我只是不喜欢它,我可能会包装API。。除非Android提供请求-响应API,否则您的“理想”解决方案是同步函数调用,而这不是设备间通信的工作方式。无线数据传输需要时间,这就是为什么磨损数据和消息API是异步构造的。@String我对异步请求-响应API非常满意-未来、承诺等等。这就是问题的标题和主体。在你的问题中,你说你已经异步实现了这个,但是你不满意它——你更喜欢同步解决方案。我没有看到任何关于体系结构不支持同步的确认。@String我不高兴,因为它不是请求-响应API。我使用一种方法在一个地方发送请求,然后希望收到带有响应的消息。我希望在上面的代码片段中有类似的内容(+-a
Future
wrapper),并进一步澄清:我在下面编写了类似于Vyacheslav的内容。我只是不喜欢它,我可能会包装API。。除非Android提供请求-响应API。