Wybierz typ klienta

Interfejsy API warstwy danych Wear OS obejmują kilka różnych typów klientów, którzy są przydatni w przypadku różnych typów danych i w różnych warunkach łączności.

Na tej stronie znajdziesz opis każdego typu klienta oraz tabelę porównującą możliwości różnych klientów. Na podstawie tych informacji możesz wybrać zestaw typów klientów, który najlepiej pasuje do Twojej aplikacji.

Klient danych

Obiekt DataClient umożliwia odczytywanie danych z DataItem lub Asset oraz zapisywanie w nich danych:

  • Każdy DataItem to jednostka informacji, która jest rozgłaszana i synchronizowana na wszystkich urządzeniach w pobliżu należących do użytkownika. DataItem jest przechowywany trwale, a urządzenie może odczytywać jego zawartość do momentu usunięcia elementu danych.

  • Asset jest przeznaczony do większych pakietów danych, takich jak obrazy lub pliki multimedialne.

Klient wiadomości

Obiekt MessageClient może wysyłać wiadomości i jest przydatny 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 sprawdzają się w przypadku żądań jednokierunkowych z użyciem sendMessage() lub modelu komunikacji typu żądanie-odpowiedź z użyciem sendRequest(). W przeciwieństwie do klientów danych klienci wiadomości potrzebują węzłów połączonych z siecią, aby wysyłać wiadomości.

Metoda sendMessage() jest wykonywana w miarę możliwości, aby dostarczyć dane do węzła zdalnego, i nie zawiera wbudowanego mechanizmu ponawiania. Jeśli urządzenie docelowe odłączy się przed rozpoczęciem przesyłania danych w sieci, metoda zwróci wartość TARGET_NODE_NOT_CONNECTED.

Klient kanału

Obiekt ChannelClient zapewnia komunikację strumieniową między urządzeniami. Kanał to dwukierunkowy potok komunikacyjny między dwoma węzłami, który jest przydatny w przypadkach użycia takich jak:

  • 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óre tworzy kopię zasobów na urządzeniu lokalnym przed synchronizacją z połączonymi urządzeniami.
  • Niezawodne wysyłanie plików, które są zbyt duże, aby można je było przesłać za pomocą MessageClient.
  • przesyłać strumieniowo dane, np. dane głosowe z mikrofonu;

Po otwarciu kanału możesz wysyłać i odbierać dane w postaci ciągłego strumienia bajtów, a nie w postaci dyskretnych DataItem jednostek, których wymagają klienci danych.

Odpowiadasz za zarządzanie przepływem danych i zapewnienie ich spójności. Klienci kanału 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 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żywaj obiektów Asset) Preferowany Bluetooth. Dane są zapisywane w chmurze. Jeśli Bluetooth jest dostępny, kopia zapasowa jest tworzona asynchronicznie. Tak, zarówno w przypadku odczytu, jak i zapisu
Klient wiadomości Brak trwałości i brak ponawiania próby Nie Preferowane jest Bluetooth, ale w razie potrzeby można użyć Wi-Fi, jeśli jest to jedyny dostępny typ połączenia. Nie
Klient kanału Brak trwałości (zorientowany na połączenie) Tak Preferowane jest Bluetooth, ale w razie potrzeby można użyć Wi-Fi, jeśli jest to jedyny dostępny typ połączenia. Nie