当Android Wear应用启动时,它会向手机发送消息并检索手表上的数据。然后,手机会从网络服务中检索数据并执行此方法:Wearable.DataApi.putDataItem(mGoogleApiClient, putRequest.asPutDataRequest());
在Android Wear上调用onDataChanged
方法。这也包含正确的数据。但是当我重新启动Android Wear应用程序时,它仍然包含旧数据,并且新数据尚未保存。我不知道出了什么问题。
这是检索数据的方法:
PendingResult<DataItemBuffer> pendingResult = Wearable.DataApi.getDataItems(mGoogleApiClient, new Uri.Builder().scheme(PutDataRequest.WEAR_URI_SCHEME).path(Constants.DATA_PATH).build());
pendingResult.setResultCallback(new ResultCallback<DataItemBuffer>()
{
@Override
public void onResult(DataItemBuffer dataItems)
{
if (dataItems.getCount() != 0)
{
DataMap map = DataMapItem.fromDataItem(dataItems.get(0)).getDataMap();
String jsonArrayString = dataMap.getString("data"); //contains old data
}
dataItems.release();
}
});