注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

等待机遇

这个世界上没有人知道自己到底想要什么,就等着别人来告诉他们。

 
 
 

日志

 
 
关于我

>>>>>>>>>>Apple Watch开发交流群: 313347946 >>>>>>>>>>Android Wear开发交流群:318275279 >>>>>>>>>>>>>智能手表开发者服务平台: http://www.openwatch.cn

网易考拉推荐

智能手表开发之OpenWatch SDK使用(2)数据发送  

2015-11-04 22:41:51|  分类: Android Wear |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
智能手表开发者服务平台:http://www.openwatch.cn

OpenWatch SDK For Android 提供多种手机与手表间的数据发送方式,不用手动管理连接,SDK内部会在必要时自动断开或打开连接,不需要再关心设备连接、通信、数据层,且所发送的数据均没有大小限制,无论是手机端还是在手表端,代码写法及逻辑相同。

导入OpenWatch SDK无需再导入其他第三方系统平台的开发jar包。


每种数据发送行为都由path和data组成:


path:自定义的任意字符串,用于标识该数据发送行为的唯一性。
data:所发送的任意类型数据,可以是基本数据类型、字节流、图片或者map类型,详见SDK Demo。


**1、数据存储和手机与手表间的自动同步,当配对设备未连接,数据并不会被丢失,会在下次连接上配对设备时接收到数据:**

    OpenWatchSender.sendData(context, "/send_data", "hello openwatch", new SendListener() {
                    
                    @Override
                    public void onSuccess() {
                        // TODO Auto-generated method stub
                        //发送成功
                    }
                    
                    @Override
                    public void onError(CommonStatus error) {
                        // TODO Auto-generated method stub
                        //发送失败及失败原因
                    }
                });


**2、数据以消息的形式发送,当配对设备未连接,数据会被丢失,用于发送临时性或时效性数据:**

    OpenWatchSender.sendMsg(this, "/send_msg", "hello openwatch", new SendListener() {
                    
                    @Override
                    public void onSuccess() {
                        // TODO Auto-generated method stub
                        //发送成功
                    }
                    
                    @Override
                    public void onError(CommonStatus error) {
                        // TODO Auto-generated method stub
                        //发送失败及失败原因
                    }
                });

**3、有时你的需求场景会需要类似网络请求,数据发送为请求/响应交流模型,可以等待配对设备的响应直到超时。当配对设备未连接,数据会被丢失:**

    OpenWatchBothWay.request(this, "/send_bothway", "hello openwatch", new BothWayCallback() {
    
                    @Override
                    public void onTimeOut() {
                        // TODO Auto-generated method stub
                        //配对设备响应超时
                    }
    
                    @Override
                    public void onResponsed(byte[] rawData) {
                        // TODO Auto-generated method stub
                        //配对设备响应回来的数据
                    }
    
                    @Override
                    public void onError(CommonStatus error) {
                        // TODO Auto-generated method stub
                        //数据请求错误及原因
                    }
                });

配对设备接收到对应的请求并响应,同时传入接收到的path

    if (path.equals("/send_bothway")) {
        OpenWatchBothWay.response(this, path, "response bothway");
    }


可设置数据发送的超时时间(默认10秒):

    OpenWatchSender.setTimeOutMills(15000);

可设置请求响应的超时时间(默认10秒):

    OpenWatchBothWay.setTimeOutMills(15000);
  评论这张
 
阅读(224)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017