Wybierz typ klienta

Interfejsy API warstwy danych Wear OS składają się z kilku różnych typów klientów, którzy są przydatni w przypadku różnych typów danych i w różnych warunkach połączenia.

Na tej stronie znajdziesz informacje o każdym typie klienta oraz tabelę porównującą możliwości różnych klientów. Dzięki tym informacjom możesz wybrać zestaw typów klientów, który najlepiej sprawdzi się w 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 odczytywanie i zapisywanie danych w obiekcie DataItem lub Asset:

  • Każdy obiekt DataItem to jednostka informacji, która jest rozgłaszana i synchronizowana na wszystkich pobliskich urządzeniach należących do użytkownika. Obiekt DataItem jest przechowywany trwale, a urządzenie może odczytywać jego zawartość, dopóki nie zostanie usunięty.

  • Obiekt Asset jest przeznaczony do większych ładunkó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 są przydatne w przypadku żądań jednokierunkowych za pomocą metody sendMessage() lub w przypadku modelu komunikacji żądanie-odpowiedź za pomocą metody sendRequest(). W przeciwieństwie do klientów danych, klienci wiadomości wymagają, aby węzły były połączone z siecią w celu wysyłania wiadomości.

Metoda sendMessage() to najlepsza próba dostarczenia wiadomości do zdalnego węzła, która nie zawiera wbudowanego mechanizmu ponawiania. 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 umożliwia komunikację między urządzeniami zorientowaną na strumień. Kanał to dwukierunkowy potok komunikacyjny między 2 węzłami, który jest przydatny w takich przypadkach jak:

  • Przesyłanie plików danych między 2 lub większą liczbą połączonych urządzeń, 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.
  • Niezawodne wysyłanie pliku, który jest zbyt duży, aby można go było wysłać za pomocą MessageClient.
  • Przesyłanie danych strumieniowych, np. danych głosowych z mikrofonu.

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

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

Porównanie klientów

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

Typ klienta Trwałość danych Obsługuje dane większe niż 100 KB? Sieć, której chcesz użyć Działa offline?
Klient danych Dane są przechowywane bez ograniczeń czasowych Tak (użyj Asset obiektów) Preferowany jest Bluetooth. Dane są tworzone 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 Nie Preferowany jest Bluetooth, ale jeśli jest to jedyny dostępny typ połączenia, można użyć Wi-Fi. Nie
Klient kanału Brak trwałości (zorientowany na połączenie) Tak Preferowany jest Bluetooth, ale jeśli jest to jedyny dostępny typ połączenia, można użyć Wi-Fi. Nie

Więcej informacji o pracy z interfejsami Data Layer API znajdziesz w przewodniku Synchronizowanie danych. Informacje o oszczędzaniu energii podczas korzystania z interfejsów Data Layer API, zobacz przewodnik Oszczędzanie energii.