page.title=Sending and Syncing Data @jd:body
The Wearable Data Layer API, which is part of Google Play services, provides a communication channel for your handheld and wearable apps. The API consists of a set of data objects that the system can send and synchronize over the wire and listeners that notify your apps of important events with the data layer:
DataItem
provides data storage with automatic syncing between the handheld and
wearable.MessageApi
class
can send messages and is good for remote procedure calls (RPC), such as controlling a handheld's
media player from the wearable or starting an intent on the wearable from the handheld.
Messages are also great for one-way requests or for a request/response communication model.
If the handheld and wearable are connected, the system queues the message for delivery and
returns a successful result code. If the devices are not connected, an error is returned. A
successful result code does not indicate that the message was delivered successfully as the
devices may disconnect after receiving the result code.
Asset
objects are for
sending binary blobs of data, such as images. You attach assets to data items and the system
automatically takes care of the transfer for you, conserving Bluetooth bandwidth by caching large assets
to avoid re-transmission.Extending WearableListenerService
lets you listen for important data layer events in a service. The system manages the lifecycle of
the WearableListenerService
,
binding to the service when it needs to send data items or messages and unbinding the service when no work is needed.
DataListener
in an activity lets you listen for important data layer events when an activity
is in the foreground. Using this instead of the
WearableListenerService
lets you listen for changes only when the user is actively using your app.
ChannelApi
class to transfer large data items, such as music and movie files, from a handheld to a wearable
device. The Channel API for data transfer has the following benefits:
Asset
objects attached to
DataItem
objects. The Channel API saves disk space unlike the
DataApi
class, which creates a copy of the assets on the local device before synchronizing with
connected devices.MessageApi
class.Warning: Because these APIs are designed for communication between handhelds and wearables, these are the only APIs you should use to set up communication between these devices. For instance, don't try to open low-level sockets to create a communication channel.
Android Wear supports multiple wearables connected to a handheld device. For example, when the user saves a note on a handheld, it automatically appears on both of the user's Wear devices. To synchronize data between devices, Google’s servers host a cloud node in the network of devices. The system synchronizes data to directly connected devices, the cloud node, and to wearable devices connected to the cloud node via Wi-Fi.
Figure 1. A sample network of nodes with handheld and wearable devices.