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 łączności.

Na tej stronie znajdziesz opisy poszczególnych typów klientów oraz tabelę porównującą ich możliwości. Na podstawie tych informacji możesz wybrać zestaw typów klientów, który najlepiej sprawdzi się w przypadku Twojej aplikacji.

Dane klienta

Obiekt DataClient umożliwia odczytywanie lub zapisywanie w obiekcie DataItem lub Asset:

  • Każdy DataItem to jednostka informacji, która jest przesyłana i synchronizowana na wszystkich urządzeniach użytkownika znajdujących się w pobliżu. DataItem jest przechowywany na stałe, a urządzenie może odczytać jego zawartość do momentu usunięcia elementu danych.

  • Asset jest przeznaczony do przesyłania większych ilości danych, takich jak obrazy lub pliki multimedialne.

Wysyłanie wiadomości do klienta

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

Komunikaty są przydatne w przypadku żądań jednokierunkowych z użyciem sendMessage() lub modelu komunikacji z modelem żądanie–odpowiedź z użyciem sendRequest(). W przeciwieństwie do klientów danych klienci wiadomości muszą mieć węzły połączone z siecią, aby móc wysyłać wiadomości.

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

Klient kanału

Obiekt ChannelClient zapewnia komunikację zorientowaną na strumienie między urządzeniami. Kanał to dwukierunkowy kanał komunikacji między dwoma węzłami, który jest przydatny w takich przypadkach jak:

  • Przesyłać pliki danych między co najmniej 2 połączonymi urządzeniami, gdy internet jest niedostępny. ChannelClient pozwala zaoszczędzić miejsce na dysku w porównaniu z opcją DataClient, która tworzy kopię komponentów na urządzeniu lokalnym przed zsynchronizowaniem z połączonymi urządzeniami.
  • Wysyłanie pliku, który jest za duży do wysłania za pomocą MessageClient.
  • Przesyłanie danych strumieniowych, takich jak 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 osobnych jednostkach DataItem, których wymagają klienci danych.

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

Porównanie klientów

Tabela poniżej zawiera porównanie możliwości różnych klientów:

Typ klienta Trwałość danych Czy obsługuje dane większe 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ą kopiowane do chmury; jeśli Bluetooth jest dostępny, kopia zapasowa jest tworzona asynchronicznie Tak, zarówno odczyt, jak i zapis
Wiadomość do klienta Brak trwałości i ponownego próbowania Nie Preferowany jest Bluetooth, ale można użyć Wi-Fi, jeśli jest to jedyny dostępny typ połączenia Nie
Channel client Brak trwałości (orientacja na połączenie) Tak Preferowany jest Bluetooth, ale można użyć Wi-Fi, jeśli jest to jedyny dostępny typ połączenia Nie