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 zDataClient
, 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 |