从可穿戴服务到手持服务的通信 [Android]
Communication from wearable service to handheld service [Android]
我正在为 Android 可穿戴设备创建一个传感器记录器应用程序。日志记录发生在服务中,从可穿戴设备发送数据是由服务完成的,但在阅读 Android 开发人员指南并进行了一些测试后,接收 DataMap 的首选方法似乎是使用 Activity.我阅读了有关 WearableListenerService 的信息,并在 phone 和 wearable 之间使用了它,但后来我发送了一条消息,现在我想发送一个 DataMap,据我所知,使用 WearableListenerService 不容易实现.
illustration(感谢您认可我的绘画技巧)使用服务显示了我想要的设置类型。我想在底部的箭头上发送一个DataMap,并制作一个服务来接收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
我正在为 Android 可穿戴设备创建一个传感器记录器应用程序。日志记录发生在服务中,从可穿戴设备发送数据是由服务完成的,但在阅读 Android 开发人员指南并进行了一些测试后,接收 DataMap 的首选方法似乎是使用 Activity.我阅读了有关 WearableListenerService 的信息,并在 phone 和 wearable 之间使用了它,但后来我发送了一条消息,现在我想发送一个 DataMap,据我所知,使用 WearableListenerService 不容易实现.
illustration(感谢您认可我的绘画技巧)使用服务显示了我想要的设置类型。我想在底部的箭头上发送一个DataMap,并制作一个服务来接收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