从可穿戴服务到手持服务的通信[Android]



我正在为Android可穿戴设备创建一个传感器记录器应用程序。日志记录是在服务中进行的,从可穿戴设备发送数据是由服务完成的,但在阅读了《安卓开发者指南》并进行了一些测试后,接收DataMap的首选方式似乎是使用活动。我读到了关于WearableListenerService的文章,我在手机和可穿戴设备之间使用了它,但后来我发了一条消息,现在我想发送一个DataMap,据我所见,使用WearableListerService并不容易实现。

插图(感谢您认可我的绘画技巧)显示了我想要什么样的设置,使用服务。我想在底部的箭头上发送一个DataMap,并创建一个服务来接收DataMap并将数据发送到另一个服务以写入文件。

这是从可穿戴设备发送数据地图的服务:

public class SendDataMapToHandheldDataLayer_Thread extends Thread {
private String path;
private DataMap dataMap;
private GoogleApiClient googleClient;
public SendDataMapToHandheldDataLayer_Thread(String cPath, DataMap cDataMap, GoogleApiClient cGoogleClient){
    path = cPath;
    dataMap = cDataMap;
    googleClient = cGoogleClient;
}
public void run(){
    PutDataMapRequest putDMR = PutDataMapRequest.create(path);
    putDMR.getDataMap().putAll(dataMap);
    PutDataRequest request = putDMR.asPutDataRequest();
    DataApi.DataItemResult result = Wearable.DataApi.putDataItem(googleClient, request).await();
    if(result.getStatus().isSuccess()){
        Log.v("dataMapSender_Wear", "DataMap successfully sent!");
    }else{
        Log.v("dataMapSender_Wear", "ERROR: Failed to send DataMap to data layer");
    }
}

}

接收器会是什么样子?

感谢所有优秀的人回答!:)

使用您概述的基于服务的体系结构,您的接收器将扩展WearableListenerService,如下所示:http://developer.android.com/training/wearables/data-layer/events.html#Listen

最新更新