Sélectionner un type de client

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 conditions.

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. Un DataItem 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 sur DataClient, 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