Clienttyp auswählen

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

Auf dieser Seite werden die einzelnen Clienttypen vorgestellt. Außerdem finden Sie hier 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.

Datenclient

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

  • Jede DataItem ist eine Informationseinheit, die an alle Geräte in der Nähe, die einem Nutzer gehören, gesendet und auf diesen Geräten synchronisiert wird. Ein DataItem wird dauerhaft gespeichert und Ihr Gerät kann seinen Inhalt lesen, bis das Datenelement gelöscht wird.

  • Ein Asset ist für größere Daten-Payloads wie Bilder oder Mediendateien vorgesehen.

Messaging-Client

Ein MessageClient-Objekt kann Nachrichten senden und eignet sich für Remote Procedure Calls (RPC), z. B. wenn Sie ein Wear OS-Gerät verwenden, um die Version Ihrer App zu steuern, die auf einem Mobilgerät installiert ist.

Nachrichten eignen sich hervorragend für Einweganfragen mit sendMessage() oder für ein Anfrage-Antwort-Kommunikationsmodell mit sendRequest(). Im Gegensatz zu Datenclients müssen Nachrichtenclients mit dem Netzwerk verbunden sein, um Nachrichten senden zu können.

Die Methode sendMessage() ist ein Best-Effort-Ansatz für die Zustellung an den Remote-Knoten und enthält 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 Anwendungsfälle wie die folgenden nützlich ist:

  • Daten zwischen zwei oder mehr verbundenen Geräten übertragen, wenn keine Internetverbindung besteht. ChannelClient spart Speicherplatz im Vergleich zu DataClient, bei dem eine Kopie der Assets auf dem lokalen Gerät erstellt wird, bevor die Synchronisierung mit verbundenen Geräten erfolgt.
  • Eine Datei, die zu groß ist, um mit einer MessageClient gesendet zu werden, zuverlässig senden.
  • Übertragen von Streamingdaten, z. B. Sprachdaten vom Mikrofon.

Nachdem Sie einen Channel 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. Channel-Clients bieten nicht dieselbe automatische Datensynchronisierung wie Daten-Clients.

Clientvergleich

In der folgenden Tabelle werden die Funktionen der verschiedenen Clients verglichen:

Clienttyp Datenpersistenz Werden Daten unterstützt, die größer als 100 KB sind? Zu verwendendes Netzwerk Funktioniert offline?
Data Client 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
Messaging-Client Keine Persistenz und kein Wiederholungsversuch Nein Bluetooth wird bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindung ist. Nein
Channel-Client Keine Persistenz (verbindungsorientiert) Ja Bluetooth wird bevorzugt, aber WLAN kann verwendet werden, wenn es die einzige verfügbare Verbindung ist. Nein