Interfejsy API warstwy danych na Wear OS składają się z kilku różnych typów klientów, przydatne w przypadku różnych rodzajów danych i podczas różnego rodzaju połączeń, warunków.
Na tej stronie omawiamy poszczególne typy klientów i zawieramy tabelę porównującą możliwości różnych klientów. Korzystając z tych informacji, możesz wybrać z zestawem typów klientów, które sprawdzą się najlepiej w przypadku Twojej aplikacji.
Klient danych
Obiekt DataClient
umożliwia odczyt i zapis w DataItem
lub
Asset
:
Każda jednostka
DataItem
to jednostka informacji, które są transmitowane i synchronizowane na wszystkich urządzeniach w pobliżu należących do użytkownika. ObiektDataItem
jest zapisywany bezterminowo, a urządzenie będzie mogło odczytywać jej zawartość, dopóki element danych nie zostanie usunięty.Asset
jest przeznaczony do obsługi większych ładunków danych, takich jak obrazy lub pliki multimedialne.
Klient wiadomości
Obiekt MessageClient
może wysyłać wiadomości i jest odpowiedni do przeprowadzenia procedury zdalnej
wywołań RPC, np. za pomocą urządzenia z Wear OS do sterowania wersją aplikacji.
który jest zainstalowany na urządzeniu mobilnym.
Doskonale nadaje się to do przesyłania próśb o połączenie w jedną stronę za pomocą sendMessage()
lub
modelu komunikacji żądanie i odpowiedzi z wykorzystaniem sendRequest()
. W przeciwieństwie do danych
klienty wiadomości muszą połączyć węzły z siecią, aby
wysyłanie wiadomości.
Metoda sendMessage()
to najlepszy sposób, by dostarczyć serwer do węzła zdalnego,
nie zawiera żadnego wbudowanego mechanizmu ponawiania próby. Jeśli urządzenie docelowe
rozłączy się przed rozpoczęciem przenoszenia sieci, metoda zostanie zwrócona
TARGET_NODE_NOT_CONNECTED
Klient kanału
Obiekt ChannelClient
zapewnia komunikację zorientowaną na strumień między
urządzenia. Kanał to dwukierunkowa pionowa pionowa komunikacja między 2 węzłami.
co przydaje się w takich przypadkach:
- Przenoś pliki danych między co najmniej 2 połączonymi urządzeniami, gdy korzystasz z internetu
nie jest dostępna.
ChannelClient
oszczędza miejsce na dysku w czasieDataClient
, które tworzy kopię zasobów na urządzeniu lokalnym przed przeprowadzeniem synchronizacji z połączonych urządzeniach. - Możesz wysłać plik, który jest zbyt duży, aby wysłać go za pomocą
MessageClient
. - Przenoś dane przesyłane strumieniowo, np. dane głosowe z mikrofonu.
Po otwarciu kanału możesz wysyłać i odbierać dane w ciągu bajtowym
strumienia danych, a nie dyskretnych jednostek DataItem
, których wymagają klienty danych.
Odpowiadasz za zarządzanie przepływem danych i zachowanie ich spójności. Klienty kanału nie oferują tego samego poziomu automatycznej synchronizacji danych co robią 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ć, której chcesz używać | Działa offline? |
---|---|---|---|---|
Klient danych | Dane są przechowywane bezterminowo | Tak (użyj
Asset
obiekty) |
Preferuj Bluetooth. Kopia zapasowa danych jest tworzona w chmurze. Jeśli Bluetooth jest ta kopia zapasowa jest dostępna asynchronicznie | Tak, zarówno do odczytu, jak i zapisu |
Klient wiadomości | Brak trwałości i ponownych prób | Nie | Preferowany Bluetooth, ale jeśli to jedyny typ urządzenia, mogę użyć Wi-Fi dostępne połączenie | Nie |
Klient kanału | Brak trwałości (zorientowane na połączenia) | Tak | Preferowany Bluetooth, ale jeśli to jedyny typ urządzenia, mogę użyć Wi-Fi dostępne połączenie | Nie |