Clienttyp auswählen

Die Wear OS Data Layer APIs bestehen aus verschiedenen Arten von Clients, die für unterschiedliche Datentypen und bei unterschiedlichen Verbindungsbedingungen nützlich sind.

Auf dieser Seite werden die einzelnen Clienttypen vorgestellt. Außerdem enthält sie eine Tabelle, in der die Funktionen der verschiedenen Clients verglichen werden. Anhand dieser Informationen können Sie die Clienttypen auswählen, die für Ihre App am besten geeignet sind.

Wann die Data Layer API verwendet werden sollte

Verwende die Data Layer API, wenn die Interaktion ausschließlich zwischen der lokalen Smartwatch und dem lokalen Smartphone stattfindet. Detaillierte Beispiele finden Sie unter Häufige Anwendungsfälle für die Datenebene.

Datenclient

Mit einem DataClient-Objekt können Sie in einem DataItem oder Asset lesen oder schreiben:

  • Jeder DataItem ist eine Informationseinheit, die an alle Geräte in der Nähe, die einem Nutzer gehören, übertragen und mit diesen synchronisiert wird. Ein DataItem wird dauerhaft gespeichert und dein Gerät kann den Inhalt lesen, bis das Datenelement gelöscht wird.

  • Ein Asset ist für größere Datennutzlasten wie Bilder oder Mediendateien gedacht.

Nachrichtenclient

Ein MessageClient-Objekt kann Nachrichten senden und eignet sich für Remote-Prozeduraufrufe (Remote Procedure Calls, RPCs), z. B. um mit einem Wear OS-Gerät die Version deiner App zu steuern, die auf einem Mobilgerät installiert ist.

Nachrichten eignen sich hervorragend für unidirektionale Anfragen mit sendMessage() oder für ein Anfrage-Antwort-Kommunikationsmodell mit sendRequest(). Im Gegensatz zu Datenclients müssen die Knoten bei Nachrichtenclients mit dem Netzwerk verbunden sein, damit Nachrichten gesendet werden können.

Die Methode sendMessage() versucht, die Daten an den Remote-Knoten zu senden, enthält aber keinen integrierten Wiederholungsmechanismus. Wenn die Verbindung zum Zielgerät getrennt 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 Kanal ist eine bidirektionale Kommunikationsleitung zwischen zwei Knoten, die für folgende Anwendungsfälle nützlich ist:

  • Übertragen von Datendateien zwischen zwei oder mehr verbundenen Geräten, wenn das Internet nicht verfügbar ist. ChannelClient spart im Vergleich zu DataClient Speicherplatz, da bei eine Kopie der Assets auf dem lokalen Gerät erstellt wird, bevor sie mit verbundenen Geräten synchronisiert werden.
  • Dateien, die zu groß für eine MessageClient sind, zuverlässig senden.
  • Übertragen von gestreamten Daten, z. B. Sprachdaten vom Mikrofon.

Nachdem Sie einen Kanal geöffnet haben, können Sie Daten in einem kontinuierlichen Bytestream senden und empfangen, anstatt in den diskreten DataItem-Einheiten, die Datenclients benötigen.

Sie sind für die Verwaltung des Datenflusses und die Konsistenz der Daten verantwortlich. Kanalclients bieten nicht dieselbe automatische Datensynchronisierung wie Datenclients.

Kundenvergleich

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?
Datenclient Daten werden auf unbestimmte Zeit gespeichert. Ja (Asset-Objekte verwenden) 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
Nachricht an Kunden senden Keine Persistenz und kein Wiederholungsversuch Nein Bluetooth wird bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindungsart ist Nein
Channel-Client Keine Persistenz (verbindungsorientiert) Ja Bluetooth wird bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindungsart ist Nein

Weitere Informationen zur Arbeit mit den Data Layer APIs findest du im Leitfaden Daten synchronisieren. Informationen zum Stromverbrauch bei der Verwendung der Data Layer APIs findest du im Leitfaden Strom sparen.