物联网平台机智云Android开源框架入门之旅(三)分析设备详情界面的中如何发送各种指令到云端。...

欢迎来到物联网平台机智云Android开源框架入门之旅

本套博客系列教程由物联网“非机智云工作人员”发烧友 半颗心脏 潜心所力原创,以下是本系列博客目录:

  • 第一篇:认识开源框架结构,导入PK、APP的id和secret。

  • 第二篇:详细分析在设备列表的代码块,如何修改自定义的设备图片。

  • 第三篇 : 分析设备详情界面的中如何发送各种指令到云端:boolean、int、String类型。

  • 第四篇 : 分析怎么做好自己的指令是否成功发送到云端对应的逻辑处理

  • 第五篇 : 分析怎么样把云端设备的信息状态同步到手机显示。

  • 第五篇 :如何修改设备的名字,并且添加描述信息。

1、必须涉及到的类 ConcurrentHashMap.class 。

  • 这个类先是继承一个抽象类 AbstractMap,其 AbstractMap 也是实现接口 Map,归咎本质,说明这是一个集合

  • 以下是该类的对外的重要方法。

方法名参数说明说明
put()(K,V)一般地,我们指定泛型第一个为该云端对应的数据点:String类型;第二个为超类 Object
putAll()Map填入一个Map的实现类对象
remove()Object key通过一个键值移除当前集合的子项

2、如何发送指令指定到云端?。

  • 我们必须在 GizWifiDevice类中知道存在这个对外的方法,如下: 
    • 第一个参数就不必说了,是我们上面提到的。
    • 第二个参数是一个 int类型的,sn设置为小循环、大循环,一般我们写入0即可。

这里写图片描述

  • 第一步:首先创建一个 ConcurrentHashMap 对象,指定的泛型为 String 和 Object ,毕竟我们是通过数据点标识和对应的值控制云端设备,所以第一个是数据点String类型,至于第二个为什么是超类?因为我们对应的数值可能是 String 、int、boolean类型或其他等,但是:这些类型都是继承于超类的,所以泛型指定为 object 。
       ConcurrentHashMap<String, Object> map= new ConcurrentHashMap<>(); 
  • 1
  • 第二步,写入将要发送到云端的数据,比如我要发送一个 数据点名字是 light_off , 数值为 false,我们可以这样做:
       map.put("light_off ", false);
  • 1

如果你是发送 数字类型 int 的话,这样写: map.put ( “light_off ” , 150 );

如果你是发送 布尔类型 boolean 的话,这样写: map.put ( “light_off ” , true);

如果你是发送 枚举类型 的话,这样写: map.put ( “light_off ” , “开灯”);

  • 第三步,写入将要发送到云端的数据之后,我们这样做,把已经绑定的GizWifiDevice对象设备,调用其 write()方法即可 , 之后手机会自动发送指令到云端,代码如下:
     device.write(map,0);
  • 1
  • 欢迎各位小伙伴上车QQ群交流技术: 434878850

转载于:https://my.oschina.net/iotgizwits/blog/1570472

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值