Die Wear OS-Data Layer APIs bestehen aus verschiedenen Clienttypen, die für unterschiedliche Datentypen und unter verschiedenen Verbindungsbedingungen nützlich sind.
Auf dieser Seite werden die einzelnen Clienttypen vorgestellt und in einer Tabelle werden die Funktionen der verschiedenen Clients verglichen. Anhand dieser Informationen können Sie die Clienttypen auswählen, die am besten für Ihre App geeignet sind.
Wann sollte die Data Layer API verwendet werden?
Verwenden Sie die Data Layer API, wenn die Interaktion ausschließlich zwischen der lokalen Smartwatch und dem lokalen Smartphone erfolgt. Detaillierte Beispiele finden Sie unter den häufigen Anwendungsfällen für die Data Layer API.
Daten-Client
Mit einem DataClient-Objekt können Sie Daten in ein DataItem oder
Asset lesen oder schreiben:
Jedes
DataItemist eine Informationseinheit, die an alle Geräte in der Nähe gesendet und auf allen Geräten synchronisiert wird, die ein Nutzer besitzt.DataItemwird dauerhaft gespeichert und die Inhalte können von Ihrem Gerät gelesen werden, bis das Datenelement gelöscht wird.Ein
Assetist für größere Datenmengen wie Bilder oder Mediendateien vorgesehen.
Nachrichten-Client
Ein MessageClient-Objekt kann Nachrichten senden und eignet sich für Remote Procedure
Calls (RPC), z. B. um mit einem Wear OS-Gerät die Version Ihrer App
zu steuern, die auf einem Mobilgerät installiert ist.
Nachrichten eignen sich gut für unidirektionale Anfragen mit sendMessage() oder für ein Anfrage-Antwort-Kommunikationsmodell mit sendRequest(). Im Gegensatz zu Daten-Clients müssen die Knoten bei Nachrichten-Clients mit dem Netzwerk verbunden sein, um Nachrichten senden zu können.
Die Methode sendMessage() versucht nach bestem Wissen und Gewissen, die Nachricht an den Remote-Knoten zu senden. Sie enthält keinen integrierten Wiederholungsmechanismus. Wenn die Verbindung zum Zielgerät unterbrochen wird, bevor die Netzwerkübertragung beginnt, gibt die Methode TARGET_NODE_NOT_CONNECTED zurück.
Channel-Client
Ein ChannelClient-Objekt ermöglicht die streamorientierte Kommunikation zwischen
Geräten. Ein Channel ist eine bidirektionale Kommunikationsleitung zwischen zwei Knoten, die für Anwendungsfälle wie die folgenden nützlich ist:
- Übertragen Sie Datendateien zwischen zwei oder mehr verbundenen Geräten, wenn keine Internetverbindung besteht.
ChannelClientspart im Vergleich zuDataClientSpeicherplatz, daDataClienteine Kopie der Assets auf dem lokalen Gerät erstellt, bevor die Synchronisierung mit verbundenen Geräten erfolgt. - Senden Sie zuverlässig eine Datei, die zu groß ist, um sie mit einem
MessageClientzu senden. - Übertragen Sie Streamingdaten wie Sprachdaten vom Mikrofon.
Nachdem Sie einen Channel geöffnet haben, können Sie Daten in einem kontinuierlichen Bytestream senden und empfangen, anstatt der diskreten DataItem-Einheiten, die für Daten-Clients erforderlich sind.
Sie sind für die Verwaltung des Datenflusses und die Konsistenz der Daten verantwortlich. Channel-Clients bieten nicht die gleiche automatische Datensynchronisierung wie Daten-Clients.
Clientvergleich
In der folgenden Tabelle werden die Funktionen der verschiedenen Clients verglichen:
| Clienttyp | Datenpersistenz | Unterstützt Daten, die größer als 100 KB sind? | Zu verwendendes Netzwerk | Funktioniert offline? |
|---|---|---|---|---|
| Daten-Client | Daten werden unbegrenzt gespeichert | Ja (use
Asset
objects) |
Bluetooth bevorzugt. Daten werden in der Cloud gesichert. Wenn Bluetooth verfügbar ist, erfolgt diese Sicherung asynchron. | Ja, sowohl für Lese- als auch für Schreibvorgänge |
| Nachrichten-Client | Keine Persistenz und keine Wiederholung | Nein | Bluetooth bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindungsart ist | Nein |
| Channel-Client | Keine Persistenz (verbindungsorientiert) | Ja | Bluetooth bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindungsart ist | Nein |
Weitere Informationen zur Verwendung der Data Layer APIs finden Sie im Leitfaden Daten synchronisieren. Informationen zu Energieaspekten bei der Verwendung der Data Layer APIs, siehe den Leitfaden Energie sparen.