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的事件,以下是个样例。

@Override
public 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. Visual Studio 2013 Update 2 RTM 发布
  2. CentOS_7.2安装Redis_3.0
  3. iOS底层基础知识-文件目录结构
  4. jquery ajax 对异步队列defer与XMLHttprequest.onload的依赖
  5. leetcode 106 Construct Binary Tree from Inorder and Postorder Traversal----- java
  6. loadrunner11安装与破解
  7. 【js】 流式布局 页面
  8. 【POJ】2170 Lattice Animals
  9. log4j:ERROR A &quot;org.jboss.logging.appender.FileAppender&quot; object is not assignable to a &quot;org.apache.lo .
  10. Xcode 7.3.1的模拟器路径
  11. Big Data Analytics for Security(Big Data Analytics for Security Intelligence)
  12. iOS--九宫格布局
  13. unity3d中让物体显示和隐藏
  14. Java-继承特性
  15. Postman----Newman的使用
  16. linux系统安全设置策略
  17. Go 初体验 - 并发与锁.2 - sync.WaitGroup
  18. CodeForces512C-Pluses everywhere-模拟/数学/排列组合模板
  19. VirtualAlloc申请进程空间
  20. [Luogu5241]序列(DP)

热门文章

  1. Android 通过wifi调试程序【转】
  2. mysql 创建函数set global log_bin_trust_function_creators=TRUE;
  3. 积累的VC编程小技巧之框架窗口及其他
  4. 忽然想到:把Mu的源代码一网打尽
  5. iOS Dev (60) 怎样实现 UITextView 中的 placeHolder
  6. 开发自己PHP MVC框架(一)
  7. [Android学习笔记]ShareSDK的使用
  8. Note:This element neither has attached source nor attached Javadoc
  9. java学习笔记06--正则表达式
  10. 主流JavaScript框架(Dojo、Google Closure、jQuery、Prototype、Mootools和YUI)的分析和对比