Les API de couche de données Wear OS sont constituées de plusieurs types de clients différents, sont utiles pour différents types de données et dans différentes situations et conditions d'exploitation.
Cette page présente chaque type de client et inclut un tableau qui compare les les capacités des différents clients. Ces informations vous permettent de sélectionner l'ensemble des types de clients les mieux adaptés à votre application.
Client de données
Un objet DataClient
vous permet de lire ou d'écrire dans un DataItem
ou
Asset
:
Chaque
DataItem
est une unité d'information diffusée et synchronisée. sur tous les appareils à proximité dont l'utilisateur est propriétaire. UnDataItem
est stocké de manière persistante, et votre appareil peut lire son contenu jusqu'à ce que l'élément de données soit supprimé.Un
Asset
est destiné aux charges utiles de données plus volumineuses, telles que des images ou des fichiers multimédias.
Client de messagerie
Un objet MessageClient
peut envoyer des messages et est adapté aux procédures à distance
(RPC), par exemple l'utilisation d'un appareil Wear OS pour contrôler la version de votre application
installé sur un appareil portable.
Les messages conviennent parfaitement aux requêtes unidirectionnelles utilisant sendMessage()
ou
modèle de communication requête-réponse avec sendRequest()
. Contrairement aux données
les clients de messagerie ont besoin que les nœuds soient connectés au réseau pour
pour envoyer des messages.
La méthode sendMessage()
permet une livraison optimale au nœud distant.
il ne contient pas de mécanisme
de nouvelle tentative intégré. Si l'appareil cible
se déconnecte avant le début du transfert réseau, la méthode renvoie
TARGET_NODE_NOT_CONNECTED
Client de la chaîne
Un objet ChannelClient
fournit une communication orientée flux entre
appareils. Un canal est un tuyau de communication bidirectionnel entre deux nœuds,
ce qui est utile pour les cas d'utilisation suivants:
- Transférer des fichiers de données entre deux appareils connectés ou plus lorsque vous êtes connecté à Internet
n'est pas disponible.
ChannelClient
permet d'économiser de l'espace disque surDataClient
, ce qui crée une copie des éléments sur l'appareil local avant la synchronisation avec appareils connectés. - Envoyer de manière fiable un fichier trop volumineux pour l'envoi à l'aide d'un
MessageClient
. - Transférer des données diffusées, telles que des données vocales depuis le micro.
Après avoir ouvert un canal, vous pouvez envoyer et recevoir des données dans un octet continu
au lieu des unités DataItem
distinctes dont les clients de données ont besoin.
Vous êtes responsable de la gestion du flux de données et de la cohérence des données. Les clients de canal de distribution n'offrent pas le même niveau de synchronisation automatique des données que font les clients de données.
Comparaison des clients
Le tableau suivant compare les fonctionnalités des différents clients:
Type de client | Persistance des données | Accepte les données de plus de 100 Ko ? | Réseau à utiliser | Fonctionne hors connexion ? |
---|---|---|---|---|
Client de données | Les données sont conservées indéfiniment | Oui (utiliser
Asset
objets) |
Bluetooth de préférence. Les données sont sauvegardées dans le cloud. si le Bluetooth est disponible, cette sauvegarde est effectuée de manière asynchrone | Oui, en lecture et en écriture |
Client de messages | Pas de persistance et pas de nouvelle tentative | Non | Bluetooth de préférence, mais peut utiliser le Wi-Fi s'il s'agit du seul type de connexion disponible | Non |
Client de canaux | Aucune persistance (orientée connexion) | Oui | Bluetooth de préférence, mais peut utiliser le Wi-Fi s'il s'agit du seul type de connexion disponible | Non |