| page.title=Sending and Syncing Data |
| @jd:body |
| |
| <div id="tb-wrapper"> |
| <div id="tb"> |
| |
| <!-- Required platform, tools, add-ons, devices, knowledge, etc. --> |
| <h2>Dependencies and prerequisites</h2> |
| <ul> |
| <li>Android 4.3 (API Level 18) or higher on the handset device</li> |
| <li>The latest version of <a href="{@docRoot}google/play">Google Play services</a></li> |
| <li>An Android Wear device or Wear AVD</li> |
| </ul> |
| </div> |
| </div> |
| |
| <p> |
| 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:</p> |
| |
| <dl> |
| <dt><b>Data Items</b></dt> |
| <dd>A <a href="{@docRoot}reference/com/google/android/gms/wearable/DataItem.html"><code>DataItem</code></a> |
| provides data storage with automatic syncing between the handheld and |
| wearable.</dd> |
| |
| <dt><b>Messages</b></dt> |
| <dd>The <a href="{@docRoot}reference/com/google/android/gms/wearable/MessageApi.html"><code>MessageApi</code></a> 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. |
| The system always delivers the message when the handheld and wearable are connected and delivers |
| an error when the devices are disconnected. Messages are great for one-way requests or for a |
| request/response communication model.</dd> |
| |
| <dt><b>Asset</b></dt> |
| <dd><a href="{@docRoot}reference/com/google/android/gms/wearable/Asset.html"><code>Asset</code></a> 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.</dd> |
| |
| <dt><b>WearableListenerService</b> (for services)</dt> |
| <dd><p>Extending <a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html"><code>WearableListenerService</code></a> |
| lets you listen for important data layer events in a service. The system manages the lifecycle of |
| the <a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html"><code>WearableListenerService</code></a>, |
| binding to the service when it needs to send data items or messages and unbinding the service when no work is needed.</p> |
| </dd> |
| |
| <dt><b>DataListener</b> (for foreground activities)</dt> |
| <dd> |
| Implementing <a href="{@docRoot}reference/com/google/android/gms/wearable/DataApi.DataListener.html"><code>DataListener</code></a> |
| in an activity lets you listen for important data layer events when an activity |
| is in the foreground. Using this instead of the |
| <a href="{@docRoot}reference/com/google/android/gms/wearable/WearableListenerService.html"><code>WearableListenerService</code></a> |
| lets you listen for changes only when the user is actively using your app. |
| </dd> |
| </dl> |
| |
| <p class="warning"><b>Warning:</b> |
| 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. |
| </p> |
| |
| <h2>Lessons</h2> |
| <dl> |
| <dt><a href="{@docRoot}training/wearables/data-layer/data-items.html">Accessing the Wearable Data Layer</a></dt> |
| <dd>This lesson shows you how to create a client to access the Data Layer APIs.</dd> |
| |
| <dt><a href="{@docRoot}training/wearables/data-layer/data-items.html">Syncing Data Items</a></dt> |
| <dd>Data items are objects that are stored in a replicated data store that is automatically |
| synced from handhelds to wearables.</dd> |
| |
| <dt><a href="{@docRoot}training/wearables/data-layer/assets.html">Transferring Assets</a></dt> |
| <dd>Assets are binary blobs of data that you typically use to transfer images or media.</dd> |
| |
| <dt><a href="{@docRoot}training/wearables/data-layer/messages.html">Sending and Receiving Messages</a></dt> |
| <dd>Messages are designed for fire-and-forget messages that you can send back and forth |
| between the wearable and handheld.</dd> |
| |
| <dt><a href="{@docRoot}training/wearables/data-layer/events.html">Handling Data Layer Events</a></dt> |
| <dd>Be notified of changes and events to the data layer.</dd> |
| </dl> |
| |
| </div> |