Data Items是用于同步手机和wear的数据接口,一个Date Items通常包括下面几部分:

Payload

一个字节数组,你可以设置任何需要的数据类型,允许进行对象的序列化与反序列化,大小不能超过100k。

Path

唯一的字符串,必须以正斜杠开始(例如,“/path/to/ data”)

通常不需要直接实现DataItem,只需要:

1、创建PutDataRequest对象,指定一个路径字符串区别该item

2、调用setData()设置payload

3、调用DataApi.putDataItem(),请求系统创建一个data item

4、当请求data item时候,系统会返回一个正确的实现了接口的data item对象

使用setData()使用原始字节,建议使用一个data map,可以暴露一个易于使用的类似于bundle的数据


使用Data Map同步数据

如果可以的话,使用DataMap类,可以使用data items类似Bundle,而且兑现序列化和反序列化帮你完成,你可以操作数据使用键值对。

使用data map 的步骤

1 创建PutDataMapRequest对象,设置data item的路径

2 调用PutDataMapRequest.getDataMap()创建data map,可以设置数据

3 设置需要的数据使用put...()方法,如putString()

4 调用PutDataMapRequest.asPutDataRequest()创建PutDataRequest对象

5 调用DataApi.putDataItem()请求系统创建data item

如果手机与wear没有连接,则缓存等到连接后同步

如下代码所示

PutDataMapRequest dataMap = PutDataMapRequest.create("/count");dataMap.getDataMap().putInt(COUNT_KEY, count++);PutDataRequest request = dataMap.asPutDataRequest();PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi        .putDataItem(mGoogleApiClient, request);

监听Data Item时间

如果一方数据层使data item发生变化,你可能需要去通知任何变化的数据连接,你可以实现这些通过时间一个监听data item的事件,下面是个例子。


@Overridepublic void onDataChanged(DataEventBuffer dataEvents) {    for (DataEvent event : dataEvents) {        if (event.getType() == DataEvent.TYPE_DELETED) {            Log.d(TAG, "DataItem deleted: " + event.getDataItem().getUri());        } else if (event.getType() == DataEvent.TYPE_CHANGED) {             Log.d(TAG, "DataItem changed: " + event.getDataItem().getUri());        }    }}


更多相关文章

  1. Androidの解决自动旋转导致activity重启问题
  2. Android开发系列之调用WebService
  3. Android中的几种单例模式的写法
  4. Android应用程序绑定服务(bindService)的过程源代码分析
  5. Android(安卓)Studio使用webservice远程访问数据库SQL Server 20
  6. Android(安卓)ViewPager之实现轮播广告效果
  7. Android开发中的autocomplete控件
  8. Android中Intent传递对象的两种方法(Serializable,Parcelable
  9. Android(安卓)源码中的设计模式

随机推荐

  1. 【Android系统源码修改】如何用Android(
  2. Android(安卓)控件之Spinner
  3. android studio gradle 多版本多apk打包(
  4. Android文件相关:RandomAccessFile介绍与
  5. Android(安卓)ClassLoader
  6. Android(安卓)Support V4, V7, V13的作用
  7. [置顶] android ANR
  8. Android(安卓)Studio下Ndk开发踩过的坑以
  9. android 数据存储之 SharedPreference
  10. Android实践之ScrollView中滑动冲突处理