Java android wear:如何在WearableListenerService中存储数据并访问它们?
我是一名java/android初学者,正在尝试开发一个简单的wear应用程序 我正在使用WearableListenerService来监听来自手机的数据更改,并在可穿戴设备上显示这些数据。 这些数据代表了用户上下文,比如说他在过去5分钟内喝了多少啤酒。 因此,我在手机和手表上都有一个Java android wear:如何在WearableListenerService中存储数据并访问它们?,java,android,service,wear-os,Java,Android,Service,Wear Os,我是一名java/android初学者,正在尝试开发一个简单的wear应用程序 我正在使用WearableListenerService来监听来自手机的数据更改,并在可穿戴设备上显示这些数据。 这些数据代表了用户上下文,比如说他在过去5分钟内喝了多少啤酒。 因此,我在手机和手表上都有一个int-beerContext,我正试图同步,以便手表和手机上的显示是相同的 只要手机只设置了啤酒的数量,一切都很好。感谢WearableListenerService收集的数据事件 但是:我想在手表上做一个小U
int-beerContext
,我正试图同步,以便手表和手机上的显示是相同的
只要手机只设置了啤酒的数量,一切都很好。感谢WearableListenerService收集的数据事件
但是:我想在手表上做一个小UI,这样用户就可以更新它喝的啤酒的数量
我的问题是:啤酒的数量是WearableListenerService的一个私人变量。由于我没有找到任何方法获取对WearableListenerService的引用,watch活动如何更新此变量?(我试图重写onBind方法,但它是最终的,所以这是不可能的
我将非常感谢一些宝贵的建议,因为我可能在我的应用程序设计中犯了错误
非常感谢!我认为您误解了服装/手机之间的数据通信方式 每个应用都需要实现自己的WearableListenerService,每个应用都需要通过数据api向另一个应用发送数据。您的私有变量无效-无法从另一个应用访问此应用 通读一遍 从手机应用程序或wear应用程序发送啤酒计数时,您需要使用数据api发送: e、 g
putDataMapRequestDataMap=PutDataMapRequest.create(“/beerCount”);
getDataMap().putInt(啤酒计数键,啤酒计数);
PutDataRequest=dataMap.asPutDataRequest();
Pendingreult Pendingreult=可穿戴。数据API
.putDataItem(mgoogleapClient,请求);
当您收到数据时,WearableListenerService会通知您。谢谢您的回答。问题是我希望此beerCount被某个活动访问。例如,onDataChanged{this.beerCount=receivedBeerCount;myNotifManager.notify(xxx,notif)}如果用户单击此notif,则使用notif嵌入挂起的内容打开BeerCountActivity.class,我希望Activy从WearableListenerService启动并获取beerCount并显示它!在这种情况下,您还需要集成消息。活动将启动,并使用数据api将消息发送到手机/佩戴应用程序r等于更新的啤酒计数。然后,接收应用程序将使用数据api数据项发送啤酒计数(或者您甚至可以使用一条消息)。通读而不是使用可穿戴侦听器服务,您可以在活动中使用DataListener。
PutDataMapRequest dataMap = PutDataMapRequest.create("/beerCount");
dataMap.getDataMap().putInt(BEER_COUNT_KEY, beerCount);
PutDataRequest request = dataMap.asPutDataRequest();
PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi
.putDataItem(mGoogleApiClient, request);