Выберите тип клиента

API уровня данных Wear OS состоят из нескольких различных типов клиентов, которые полезны для разных типов данных и в разных условиях подключения.

На этой странице представлен каждый тип клиента и представлена ​​таблица, сравнивающая возможности различных клиентов. Используя эту информацию, вы можете выбрать набор типов клиентов, который лучше всего подходит для вашего приложения.

Клиент данных

Объект DataClient позволяет читать или записывать данные в DataItem или Asset :

  • Каждый DataItem представляет собой единицу информации, которая распространяется и синхронизируется на всех находящихся поблизости устройствах пользователя. DataItem хранится постоянно, и ваше устройство может читать его содержимое до тех пор, пока он не будет удалён.

  • Asset предназначен для больших объемов данных, таких как изображения или медиафайлы.

Клиент сообщений

Объект MessageClient может отправлять сообщения и подходит для удаленных вызовов процедур (RPC), например, для использования устройства Wear OS для управления версией вашего приложения, установленного на портативном устройстве.

Сообщения отлично подходят для односторонних запросов с использованием sendMessage() или для модели связи «запрос-ответ» с использованием sendRequest() . В отличие от клиентов данных, для отправки сообщений клиентам сообщений необходимо, чтобы узлы были подключены к сети.

Метод sendMessage() — это метод наилучшей попытки доставки данных на удалённый узел, и он не содержит встроенного механизма повторных попыток. Если целевое устройство отключается до начала передачи данных по сети, метод возвращает TARGET_NODE_NOT_CONNECTED .

Клиент канала

Объект ChannelClient обеспечивает потоковую связь между устройствами. Канал — это двунаправленный канал связи между двумя узлами, который полезен в следующих случаях:

  • Передача файлов данных между двумя или более подключенными устройствами при отсутствии интернета. ChannelClient экономит место на диске по сравнению с DataClient , который создает копию ресурсов на локальном устройстве перед синхронизацией с подключенными устройствами.
  • Надежная отправка файла, который слишком велик для отправки с помощью MessageClient .
  • Передача потоковых данных, например голосовых данных с микрофона.

После открытия канала вы можете отправлять и получать данные непрерывным потоком байтов, а не отдельными блоками DataItem , которые требуются клиентам данных.

Вы отвечаете за управление потоком данных и обеспечение их согласованности. Клиенты каналов не обеспечивают такой же уровень автоматической синхронизации данных, как клиенты данных.

Сравнение клиентов

В следующей таблице сравниваются возможности различных клиентов:

Тип клиента Сохранение данных Поддерживает ли данные размером более 100 КБ? Сеть для использования Работает офлайн?
Клиент данных Данные сохраняются неограниченное время Да (используйте объекты Asset ) Предпочтительно Bluetooth. Резервное копирование данных выполняется в облако; если Bluetooth доступен, резервное копирование выполняется асинхронно. Да, и для чтения, и для записи
Клиент сообщений Никакого упорства и никаких повторных попыток Нет Предпочтителен Bluetooth, но можно использовать Wi-Fi, если это единственный доступный тип соединения. Нет
Клиент канала Отсутствие персистентности (ориентировано на соединение) Да Предпочтителен Bluetooth, но можно использовать Wi-Fi, если это единственный доступный тип соединения. Нет