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 sprawdzi się w Twojej aplikacji.
Klient danych
Obiekt DataClient umożliwia odczytywanie danych z DataItem lub Asset oraz zapisywanie w nich danych:
Każdy
DataItemto jednostka informacji, która jest rozgłaszana i synchronizowana na wszystkich urządzeniach w pobliżu należących do użytkownika.DataItemjest przechowywany trwale, a urządzenie może odczytywać jego zawartość do momentu usunięcia elementu danych.Assetjest 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.
ChannelClientoszczędza miejsce na dysku w porównaniu zDataClient, które tworzy kopię zasobów na urządzeniu lokalnym przed synchronizacją z podłą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 jest 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 |