Ich teste die tragbare Datenschicht Api wie in der Android tutorial beschrieben.Was ist der Uri für Wearable.DataApi.getDataItem() nach der Verwendung von PutDataMapRequest?
Es gibt einen niedrigen Level-API auf Basis DataItem
, der nur einen Byte-Array als Nutzlast haben kann, so dass die Ausbildung empfiehlt PutDataMapRequest
verwenden, der im Grunde äquivalent zu einer Bundle
(das heißt eine serializable Karte) zu sein scheint, wenn Intents verwenden. Sie erstellen im Grunde eine Instanz dieser Klasse, füllen dann die Werte und senden sie.
private final static String DATA_PATH = "/testdata";
PutDataMapRequest dataMap = PutDataMapRequest.create(DATA_PATH);
dataMap.getDataMap().putInt(...);
PutDataRequest request = dataMap.asPutDataRequest();
PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi.putDataItem(mGoogleApiClient, request);
pendingResult.setResultCallback(...);
Jetzt möchte ich, wenn diese Daten gespeichert wurden korrekt (zum Testen, auf dem Handheld selbst, ich bin nicht besorgt über die tragbare jetzt) überprüfen. Die entsprechenden Methoden hierfür sind in der DataApi
Klasse, so dass ich anrufen:
PendingResult<DataApi.DataItemResult> pending;
pending = Wearable.DataApi.getDataItem(mGoogleApiClient, uri);
pending.setResultCallback(...);
und dann DataMapItem.fromDataItem()
innerhalb des Callback verwenden, um den Wert zu erhalten.
Das Problem ist: Was ist die tatsächliche Uri, um das DataItemResult anzufordern?
die Daten gespeichert sind, denn wenn ich Wearable.DataApi.getDataItems(mGoogleApiClient)
verwenden, um über alle gespeicherten Daten durchlaufen, es ist in der Tat da, und die Uri ist:
"wear://<some guid here>/testdata"
Und mit diesem Uri mit DataApi.getDataItem()
kehrt das richtige Ergebnis . Aber ich bin ratlos, wie zu es erzeugen, da ich nur verwendet, um den /testdata
Teil der PutDataRequest
zu schaffen ...
Oder bin ich Dinge falsch gemacht?
Perfekt! Ich hatte das nicht gesehen. Und ich nehme an, jedes angeschlossene Gerät hat seine eigene Knoten-ID? – matiash
Ja ist es. Knoten-ID und Element-URL werden auch in diesem Video ein wenig erwähnt. https://www.google.com/events/io/schedule/session/9bf77f55-afbe-e311-b297-00155d5066d7 – Poly
Ja, ich sah das Video, nachdem ich Ihre Antwort gelesen habe. Danke noch einmal! – matiash