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