AI-generated Key Takeaways
- 
          The DataApiinterface is deprecated andDataClientshould be used instead.
- 
          DataApiexposes an API for reading and writing data items and assets on an Android Wear network.
- 
          Data items are synchronized across all connected devices and are private to the application that created them. 
- 
          Data items should be small, while assets should be used for larger data like images. 
- 
          Data items are identified by a URI in the format wear://<node_id>/<path>, with support for wildcard node IDs.
- 
          Concurrent modification of data items from different nodes can lead to inconsistencies, suggesting the use of ownership patterns like creator ownership or producer-consumer. 
This interface is deprecated.
      Use DataClient.
Exposes an API for components to read or write data items and
      assets.
A DataItem is
      synchronized across all devices in an Android Wear network. It is possible to set data items
      while not connected to any nodes. Those data items will be synchronized when the nodes
      eventually come online.
Data items are private to the application that created them, and are only accessible by
      that application on other nodes. They should generally be small in size, relying on
      assets for the
      transfer of larger, more persistent data objects such as images.
DataItem URI format
Each data item is identified by a URI, accessible withDataItem.getUri(),
      that indicates the item's creator and path. Fully specified URIs follow the following format:
      wear://<node_id>/<path>
node ID of
      the wearable node that created the data item, and <path> is an application-defined
      path. This means that given a data item's URI, calling Uri.getHost()
      will return the creator's node ID.
      Some methods, such as 
      getDataItems(GoogleApiClient, Uri) and 
      addListener(GoogleApiClient, DataListener, Uri, int), support wildcard node IDs to
      match data items with the same path or path prefix created by multiple nodes. A wildcard data
      item URI has the following format:
wear://*/<path>
Concurrency
Concurrent modification of data items from different nodes may result in inconsistent results. It is recommended that apps are built with some concept of ownership of data items. Two common patterns are:- Creator owns data items: Data items may be updated only by the original creator node.
- Producer-consumer: One node is responsible for creating a data item, and a second node is responsible for deleting it, once it has been processed. Data items should have unique IDs when using this pattern, and data items should not be modified once created.
Nested Class Summary
| interface | DataApi.DataItemResult | This interface is deprecated. See 
              DataClient.getDataItem(Uri). | |
| interface | DataApi.DataListener | This interface is deprecated. Use 
              DataClient.OnDataChangedListener. | |
| interface | DataApi.DeleteDataItemsResult | This interface is deprecated. See 
              DataClient.deleteDataItems(Uri). | |
| @interface | DataApi.FilterType | ||
| interface | DataApi.GetFdForAssetResult | This interface is deprecated. Use 
              DataClient.GetFdForAssetResponse. | |
Constant Summary
| String | ACTION_DATA_CHANGED | Data changed action for use in manifest-based listener filters. | 
| int | FILTER_LITERAL | Filter type for 
              getDataItems(GoogleApiClient, Uri, int),
              deleteDataItems(GoogleApiClient, Uri, int),
              addListener(GoogleApiClient, DataListener, Uri, int): if this filter is
              set, the given URI will be taken as a literal path, and the operation will apply to
              the matching item only. | 
| int | FILTER_PREFIX | Filter type for 
              getDataItems(GoogleApiClient, Uri, int),
              deleteDataItems(GoogleApiClient, Uri, int),
              addListener(GoogleApiClient, DataListener, Uri, int): if this filter is
              set, the given URI will be taken as a path prefix, and the operation will apply to
              all matching items. | 
Public Method Summary
| abstract PendingResult<Status> | 
                  
                  addListener(GoogleApiClient
                  client, DataApi.DataListener
                  listener)
                   
                    Registers a listener to receive data item changed and deleted events.
                   | 
| abstract PendingResult<Status> | 
                  
                  addListener(GoogleApiClient
                  client, DataApi.DataListener
                  listener, Uri uri, int
                  filterType)
                   
                    Registers a listener to receive data item changed and deleted events.
                   | 
| abstract PendingResult<DataApi.DeleteDataItemsResult> | 
                  
                  deleteDataItems(GoogleApiClient
                  client, Uri
                  uri, int filterType)
                   
                    Removes all specified  data
                    itemsfrom the Android Wear network. | 
| abstract PendingResult<DataApi.DeleteDataItemsResult> | 
                  
                  deleteDataItems(GoogleApiClient
                  client, Uri
                  uri)
                   
                    Removes all specified  data
                    itemsfrom the Android Wear network. | 
| abstract PendingResult<DataApi.DataItemResult> | 
                  
                  getDataItem(GoogleApiClient
                  client, Uri
                  uri)
                   
                    Retrieves a single  DataItemfrom the Android Wear network. | 
| abstract PendingResult<DataItemBuffer> | 
                  
                  getDataItems(GoogleApiClient
                  client, Uri
                  uri, int filterType)
                   
                    Retrieves all  data
                    itemsmatching the provided URI and filter type, from the Android
                    Wear network. | 
| abstract PendingResult<DataItemBuffer> | |
| abstract PendingResult<DataItemBuffer> | 
                  
                  getDataItems(GoogleApiClient
                  client, Uri
                  uri)
                   
                    Retrieves all  data
                    itemsmatching the provided URI, from the Android Wear network. | 
| abstract PendingResult<DataApi.GetFdForAssetResult> | 
                  
                  getFdForAsset(GoogleApiClient
                  client, Asset asset)
                   
                    Retrieves a  ParcelFileDescriptorpointing at the bytes of an
                    asset. | 
| abstract PendingResult<DataApi.GetFdForAssetResult> | 
                  
                  getFdForAsset(GoogleApiClient
                  client, DataItemAsset
                  asset)
                   
                    Retrieves a  ParcelFileDescriptorpointing at the bytes of an
                    asset. | 
| abstract PendingResult<DataApi.DataItemResult> | 
                  
                  putDataItem(GoogleApiClient
                  client, PutDataRequest
                  request)
                   
                    Adds a  DataItemto the Android Wear network. | 
| abstract PendingResult<Status> | 
                  
                  removeListener(GoogleApiClient
                  client, DataApi.DataListener
                  listener)
                   
                    Removes a data listener which was previously added through  
                    addListener(GoogleApiClient, DataListener). | 
Constants
public static final String ACTION_DATA_CHANGED
Data changed action for use in manifest-based listener filters.
See Also
public static final int FILTER_LITERAL
Filter type for 
            getDataItems(GoogleApiClient, Uri, int), 
            deleteDataItems(GoogleApiClient, Uri, int), 
            addListener(GoogleApiClient, DataListener, Uri, int): if this filter is set,
            the given URI will be taken as a literal path, and the operation will apply to the
            matching item only.
public static final int FILTER_PREFIX
Filter type for 
            getDataItems(GoogleApiClient, Uri, int), 
            deleteDataItems(GoogleApiClient, Uri, int), 
            addListener(GoogleApiClient, DataListener, Uri, int): if this filter is set,
            the given URI will be taken as a path prefix, and the operation will apply to all
            matching items.
Public Methods
public abstract PendingResult<Status> addListener (GoogleApiClient client, DataApi.DataListener listener)
Registers a listener to receive data item changed and deleted events. This call
            should be balanced with a call to 
            removeListener(GoogleApiClient, DataListener), to avoid leaking
            resources.
Listener events will be called on the main thread, or the handler specified on
            client when it was built (using 
            GoogleApiClient.Builder.setHandler(Handler)).
public abstract PendingResult<Status> addListener (GoogleApiClient client, DataApi.DataListener listener, Uri uri, int filterType)
Registers a listener to receive data item changed and deleted events. This call
            should be balanced with a call to 
            removeListener(GoogleApiClient, DataListener), to avoid leaking
            resources.
uri and filterType can be used to filter the data item
            changes sent to the listener. For example, if uri and
            filterType create a path prefix filter, then only items matching that
            prefix will be notified. The uri follows the rules of the <data>
            element of <intent-filter>. The path is ignored if a URI host is not specified.
            The host should be an Android Wear node ID, or * to match any node. For example, you
            should use:
wear://*/<path>
wear://<nodeId>/<path>
Listener events will be called on the main thread, or the handler specified on
            client when it was built (using 
            GoogleApiClient.Builder.setHandler(Handler)).
public abstract PendingResult<DataApi.DeleteDataItemsResult> deleteDataItems (GoogleApiClient client, Uri uri, int filterType)
Removes all specified data
            items from the Android Wear network.
If uri is fully specified, this method will delete at most one data
            item. If uri contains a wildcard host, multiple data items may be deleted,
            since different nodes may create data items with the same path. See DataApi
            for details of the URI format.
The filterType parameter changes the interpretation of
            uri. For example, if uri represents a path prefix, all items
            matching that prefix will be deleted.
public abstract PendingResult<DataApi.DeleteDataItemsResult> deleteDataItems (GoogleApiClient client, Uri uri)
Removes all specified data
            items from the Android Wear network.
If uri is fully specified, this method will delete at most one data
            item. If uri contains a wildcard host, multiple data items may be deleted,
            since different nodes may create data items with the same path. See DataApi
            for details of the URI format.
public abstract PendingResult<DataApi.DataItemResult> getDataItem (GoogleApiClient client, Uri uri)
public abstract PendingResult<DataItemBuffer> getDataItems (GoogleApiClient client, Uri uri, int filterType)
Retrieves all data
            items matching the provided URI and filter type, from the Android Wear
            network.
The URI must contain a path. If uri is fully specified, at most one
            data item will be returned. If uri contains a wildcard host, multiple data
            items may be returned, since different nodes may create data items with the same path.
            See DataApi
            for details of the URI format.
Callers must call 
            AbstractDataBuffer.release() on the returned buffer when finished processing
            results.
The filterType parameter changes the interpretation of
            uri. For example, if uri represents a path prefix, all items
            matching that prefix will be returned.
public abstract PendingResult<DataItemBuffer> getDataItems (GoogleApiClient client)
Retrieves all data
            items from the Android Wear network.
Callers must call 
            AbstractDataBuffer.release() on the returned buffer when finished processing
            results.
public abstract PendingResult<DataItemBuffer> getDataItems (GoogleApiClient client, Uri uri)
Retrieves all data
            items matching the provided URI, from the Android Wear network.
The URI must contain a path. If uri is fully specified, at most one
            data item will be returned. If uri contains a wildcard host, multiple data
            items may be returned, since different nodes may create data items with the same path.
            See DataApi
            for details of the URI format.
Callers must call 
            AbstractDataBuffer.release() on the returned buffer when finished processing
            results.
public abstract PendingResult<DataApi.GetFdForAssetResult> getFdForAsset (GoogleApiClient client, Asset asset)
Retrieves a ParcelFileDescriptor pointing at the bytes of an asset.
            Only assets previously stored in a DataItem
            may be retrieved.
public abstract PendingResult<DataApi.GetFdForAssetResult> getFdForAsset (GoogleApiClient client, DataItemAsset asset)
Retrieves a ParcelFileDescriptor pointing at the bytes of an asset.
            Only assets previously stored in a DataItem
            may be retrieved.
public abstract PendingResult<DataApi.DataItemResult> putDataItem (GoogleApiClient client, PutDataRequest request)
Adds a DataItem
            to the Android Wear network. The updated item is synchronized across all devices.
public abstract PendingResult<Status> removeListener (GoogleApiClient client, DataApi.DataListener listener)
Removes a data listener which was previously added through 
            addListener(GoogleApiClient, DataListener).