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

等待机遇

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

 
 
 

日志

 
 
关于我

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

网易考拉推荐

Android Wear开发之数据通信框架OkWear  

2015-05-08 15:49:51|  分类: Android Wear |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转自智能手表开发论坛-穿戴猫论坛:http://bbs.seacat.cn/thread-1471-1-1.html

OkWear是Android Wear上的一个设备间数据通信的框架。

示例

发送MessageApi

static final String PATH = "/path"
static final String MESSAGE = "hello"
 
OkWear ok = new OkWear(context);
 
// unuse callback listener
ok.sendMessageAll(MESSAGE, PATH);
 
// use callback listener
ok.sendMessageAll(MESSAGE, PATH, new SendResultListener<MessageApi.SendMessageResult>() {
        @Override
        public void onResult(MessageApi.SendMessageResult result) {
            Log.v(TAG, "Status: " + result.getStatus());
        }
    });



发送DataApi

kWear ok = new OkWear(context);
 
Payload payload =
    new Payload.Builder(PATH)
                .addPayload("key1", 0) 
                .addPayload("key2", "hello")
                .build();
 
// unuse callback listener
ok.syncData(payload);
 
// use callback listener
ok.syncData(payload, new SendResultListener<DataApi.DataItemResult>() {
            @Override
            public void onResult(DataApi.DataItemResult result) {
                Log.v(TAG, "Status: " + result.getStatus());
            }
        });





接收

OkWear ok = new OkWear(this);
ok.registReceiver(this);


监听回调

@Override
public void onReceiveMessage(MessageEvent messageEvent) {
    if (messageEvent.getPath().equals(PATH)) {
        final String messagePayload = new String(messageEvent.getData());
        Log.v(TAG, messagePayload);
    }
}
 
@Override
public void onReceiveDataApi(DataEventBuffer dataEventBuffer) {
    for (DataEvent event : dataEventBuffer) {
        final DataMap dataMap = DataMap.fromByteArray(event.getDataItem().getData());
        final int data1 = dataMap.getInt("key1");
        final String data2 = dataMap.getString("key2");
        Log.v(TAG, "data(int): " + data1);
        Log.v(TAG, "data(string): " + data2);
    }
}



创建Playload
Payload payload =
    new Payload.Builder("path")
                .addPayload("key1", 0) 
                .addPayload("key2", "hello")
                .build();


创建字节流数组
byte[] payload = Parsebytearray.fromString("hello");


在Activity,fragment 或者service中管理生命周期,可以写在父类中,然后写子类继承

在onResume或onPause时分别调用connect()和disconnect()方法

Okwear mOkWear;
 
@Override
protected void onResume() {
    super.onResume();
    mOkWear.connect();
}
 
@Override
protected void onPause() {
    super.onPause();
    mOkWear.disconnect();
}

项目地址:https://github.com/AAkira/OkWear
  评论这张
 
阅读(110)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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