物联网控制APP入门专题(六)---使用android studio编写双按钮APP(一开一关)

本文教你如何在Android Studio中利用阿里云物联网平台,通过按钮操作控制设备的LightSwitch、PowerSwitch和LightStatus属性,实现开关功能,借助JSON格式轻松传递指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:上一篇文章讲了如何向阿里云物联网平台发送一个string,但是没有讲如何用一个按钮来控制小灯的开关。本文就来说一下如何控制开关,也就是通过publish命令,更改物的属性。

编程环境:android studio 3.5.1

目录

1.打开源文件

2.找到指定的topic

3.找到物模型定义

4.定义几个属性的默认值

5.修改发布按钮的响应代码

6.增加一个按钮,实现“关”的功能

7.编译后在手机上运行

 


1.打开源文件

找到MainActivity文件打开。

2.找到指定的topic

登陆阿里云物联网平台,依次点击 “产品”--“topic类列表”--“物模型通信Topic”。可以看到topic类列表。我们需要用的是“属性上报”主题。也就是

"/thing/event/property/post"结尾的topic

3.找到物模型定义

点击相应的产品的功能定义,找到功能定义。本例中,有四个属性,分别是“car”,取值范围0-4,另外3个属性分别是“LightSwitch”“PowerSwitch”“LightStatus”都是布尔bool类型。

4.定义几个属性的默认值

在MainActivity.java文件里,定义两个字符串。

这两个字符串是json格式的。我们定义paypay为“开”,payguan为“关”。

private static final String paypay = "{\"id\":2021,\"params\":{\"LightStatus\":1,\"PowerSwitch\":1,\"LightSwitch\":1,\"car\":2},\"method\":\"thing.event.property.post\"}";

private static final String payguan = "{\"id\":2021,\"params\":{\"LightStatus\":0,\"PowerSwitch\":0,\"LightSwitch\":0,\"car\":4},\"method\":\"thing.event.property.post\"}";

5.修改发布按钮的响应代码

在MainActivity.java文件里onCreate函数里面,修改按钮pubulish的响应代码。这样就能实现“LightSwitch”“PowerSwitch”“LightStatus”几个属性的“开”了。

啊?怎么用字符串就能实现开关布尔量?

对,这就是json的魔力。json是一种文本方式描述的语言,尽管是文本,但是可以描述的数据类型有很多很多。据说现在有些数据库都用json格式来存储数据了。

/* 通过按键发布消息 */
        Button pubButton = findViewById(R.id.publish);
        pubButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                publishMessage(paypay);
            }
        });

6.增加一个按钮,实现“关”的功能

代码如下。实现起来很方便,在activity_main.xml文件中添加,并设置按钮的id为“guanbi”。

  /* 通过按键发布消息 */
        Button guanButton = findViewById(R.id.guanbi);
        guanButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                publishMessage(payguan);
            }
        });

7.编译后在手机上运行

编译就不再多说,看本文的时候,默认您已经具备android studio基本的调试技能。

也可以参考一些其他文章

gradle不同版本下载太慢---腾讯做了国内镜像可以直接下载

android studio设置build.gradle为阿里云云效地址的方法

编译完成后,会生成apk文件目录如下图所示

安装在手机后,点击不同的按钮,就能够发送不同的指令

可以通过阿里云物联网平台观察运行效果。

这是关闭的效果

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TMS320VC5257H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值