Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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
无法从Android Wear向掌上电脑发送和接收资产_Android_Google Api_Wear Os - Fatal编程技术网

无法从Android Wear向掌上电脑发送和接收资产

无法从Android Wear向掌上电脑发送和接收资产,android,google-api,wear-os,Android,Google Api,Wear Os,我正试图将一个资产从Android wear设备发送到手持设备,但在设置数据请求或检索数据请求时遇到了问题。我不确定错误到底在哪里 以下是我在wear设备上的“发送到数据层”代码: PutDataMapRequest request = PutDataMapRequest.create("/audio"); request.getDataMap().putAll(data); //data is a DataMap with a timestamp asset, and an audio ass

我正试图将一个资产从Android wear设备发送到手持设备,但在设置数据请求或检索数据请求时遇到了问题。我不确定错误到底在哪里

以下是我在wear设备上的“发送到数据层”代码:

PutDataMapRequest request = PutDataMapRequest.create("/audio");
request.getDataMap().putAll(data); //data is a DataMap with a timestamp asset, and an audio asset called "audioAsset"

PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi.putDataItem(googleClient, request.asPutDataRequest().setUrgent());

pendingResult.setResultCallback(new ResultCallback<DataApi.DataItemResult>() { ... }

当我试图访问'audioAsset.getData().length'时,程序崩溃,出现空指针异常,因此我可能没有以正确的方式检索资产。有谁能告诉我我是不是走错了路?谢谢。

为了像那样传输二进制数据,建议使用或。我建议您查看文档,看看您心目中的任务首选哪种技术。此外,您可以更轻松地使用在易于使用的界面(例如。

我已经在使用资产)中封装大量API的库。我遇到的麻烦是把它放到一个数据地图中,然后在另一端检索它。如果你注意细节,它会得到回报;您正在执行request.getDataMap().putAll(数据),而对于资产,如果您查看我提供给您的链接,则应将其添加为:request.getDataMap().putAsset(“某些名称”,资产)
@Override
public void onDataChanged(DataEventBuffer dataEvents) {

    DataMap dataMapReceived;

    for (DataEvent event : dataEvents) {

        if (event.getType() == DataEvent.TYPE_CHANGED &&
                event.getDataItem().getUri().getPath().equals("/audio")) {

            dataMapReceived = DataMapItem.fromDataItem(event.getDataItem()).getDataMap();
            Asset audioAsset = dataMapReceived.getAsset("audioAsset");
            Log.d("H_AUDIO", "Audio Bytes Length: " + audioAsset.getData().length); // Crashes here with null pointer
        }