Wybierz typ klienta

Interfejsy API warstwy danych Wear OS obejmują kilka różnych typów klientów, które są przydatne w przypadku różnych typów danych i różnych warunków połączenia.

Na tej stronie przedstawiamy każdy typ klienta i zamieszczamy tabelę, w której porównujemy możliwości różnych klientów. Na podstawie tych informacji możesz wybrać zestaw typów klientów, który najlepiej sprawdzi się w przypadku Twojej aplikacji.

Kiedy używać interfejsu Data Layer API

Używaj interfejsu Data Layer API, gdy interakcja odbywa się wyłącznie między lokalnym zegarkiem a lokalnym telefonem. Szczegółowe przykłady znajdziesz w artykule Typowe przypadki użycia warstwy danych.

Klient danych

Obiekt DataClient umożliwia odczyt lub zapis w DataItem lub Asset:

  • Każdy DataItem to jednostka informacji, która jest przesyłana i synchronizowana na wszystkich urządzeniach w pobliżu należących do użytkownika. DataItem jest przechowywany na stałe, a urządzenie może odczytywać jego zawartość, dopóki element danych nie zostanie usunięty.

  • Asset jest przeznaczony do przesyłania większych ładunków danych, takich jak obrazy lub pliki multimedialne.

Klient wiadomości

Obiekt MessageClient może wysyłać wiadomości i dobrze sprawdza się w przypadku zdalnych wywołań procedur (RPC), np. gdy używasz urządzenia z Wear OS do sterowania wersją aplikacji zainstalowaną na urządzeniu przenośnym.

Wiadomości świetnie nadają się do jednokierunkowych żądań przy użyciu sendMessage() lub do modelu komunikacji żądanie-odpowiedź przy użyciu sendRequest(). W przeciwieństwie do klientów danych klienci wiadomości muszą mieć węzły połączone z siecią, aby wysyłać wiadomości.

Metoda sendMessage() stara się dostarczyć dane do węzła zdalnego i nie zawiera żadnego wbudowanego mechanizmu ponawiania prób. Jeśli urządzenie docelowe rozłączy się przed rozpoczęciem przesyłania przez sieć, metoda zwraca wartość TARGET_NODE_NOT_CONNECTED.

Klient kanału

Obiekt ChannelClient zapewnia komunikację między urządzeniami zorientowaną na strumień. Kanał to dwukierunkowy kanał komunikacyjny między 2 węzłami, który jest przydatny w takich przypadkach:

  • Przesyłaj pliki danych między co najmniej 2 połączonymi urządzeniami, gdy internet jest niedostępny. ChannelClient oszczędza miejsce na dysku w porównaniu z DataClient, który tworzy kopię zasobów na urządzeniu lokalnym przed synchronizacją z połączonymi urządzeniami.
  • Niezawodnie wysyłaj pliki, które są za duże, aby wysłać je za pomocą MessageClient.
  • przesyłać dane strumieniowe, np. dane głosowe z mikrofonu;

Po otwarciu kanału możesz wysyłać i odbierać dane w ciągłym strumieniu bajtów, a nie w oddzielnych jednostkach DataItem, których wymagają klienci danych.

Odpowiadasz za zarządzanie przepływem danych i zapewnianie ich spójności. Klienci kanałów nie oferują takiego samego poziomu automatycznej synchronizacji danych jak klienci danych.

Porównanie klientów

W tabeli poniżej znajdziesz porównanie możliwości różnych klientów:

Typ klienta Trwałość danych Czy obsługuje dane o rozmiarze większym niż 100 KB? Sieć do użycia Działa offline?
Klient danych Dane są przechowywane bez ograniczeń czasowych. Tak (użyj obiektów Asset) Preferowany jest Bluetooth. Dane są zapisywane w kopii zapasowej w chmurze. Jeśli Bluetooth jest dostępny, kopia zapasowa jest tworzona asynchronicznie. Tak, zarówno do odczytu, jak i zapisu
Klient wiadomości Brak trwałości i ponawiania prób Nie Preferowane jest połączenie Bluetooth, ale można używać Wi-Fi, jeśli jest to jedyny dostępny typ połączenia. Nie
Klient kanału Brak trwałości (zorientowane na połączenie) Tak Preferowane jest połączenie Bluetooth, ale można używać Wi-Fi, jeśli jest to jedyny dostępny typ połączenia. Nie

Więcej informacji o korzystaniu z interfejsów API warstwy danych znajdziesz w przewodniku Synchronizowanie danych. Informacje o zużyciu energii podczas korzystania z interfejsów API warstwy danych znajdziesz w przewodniku dotyczącym oszczędzania energii.