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

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, если это единственный доступный тип соединения. Нет