Wybierz typ klienta

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. Obiekt DataItem 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 czasie DataClient, 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