• Android 访问Android Wear数据层Api——同步Data Items


    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());
            }
        }
    }


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    leetcode69 X的平方根的几种解法
    记录一次安装OpenGL的漫长过程
    Java序列化和反序列化
    volatile和synchronized关键字
    netty中的传输
    SpringBoot集成netty实现客户端服务端交互和做一个简单的IM
    netty入坑第一步:了解netty和编写简单的Echo服务器和客户端
    java几种垃圾收集方法和垃圾收集器
    SpringCloud-7-Config
    SpringCloud-6-Zuul
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4645250.html
Copyright © 2020-2023  润新知