APP Inventor练习——蓝牙通信


前言

练习APP Inventor中蓝牙的使用,并为之前的项目APP小游戏——一个都不能死增加了蓝牙对战功能。


一、蓝牙调试

先写一个蓝牙调试的APP,用来收发文本

1.组件设计

第一栏显示连接状态;第二栏显示连接信息;第三栏用于确定开启服务器还是客户端;第四、五栏用于设置和显示收发数据。

2.逻辑设计

1、通过下拉框选择调用服务器还是客户端;
2、如果调用客户端,在列表选择框中写入之前连接过的地址,选择需要连接的地址进行连接;

3、通过连接状态来判断当前使用的是服务器还是客户端;
4、使用计时器实现隔一段时间进行一次接收。
在这里插入图片描述

二、蓝牙对战

学会了用蓝牙收发文本,来写一个蓝牙对战的小游戏。

1.组件设计

和前面相似,第一栏用来设置使用服务器还是客户端;第二栏的黑色方框用来显示接收到的数据;第三栏显示比分和玩家状态;另外将游戏界面先隐藏起来。
在这里插入图片描述

2.逻辑设计

由于不同阶段所收发的内容不同,以状态机的形式规定什么时候该做什么事

写两个过程用来收发文本

在游戏进行的过程中,需要发送玩家跳跃、撞墙、时间信息,为了避免混乱,将数据写入列表,同时进行收发

把列表组装成文本进行发送,再把接收到的文本拆成列表

蓝牙的部分就写好了,接下来就是一些小细节,项目文件我会传到资源里去。

3.效果展示

录屏的手机控制的是下面的人物,可以看到,对手的动作存在着很大的延迟。一方面,是因为计时器的间隔设置的是0.5s,主要是防止同时收到两组数据(不过还是发生了);另一方面,传数据的时候只传了跳跃,如果把墙的位置信息也传上,效果会更好一些。


总结

用APP Inventor拼一些简单的功能还是挺方便的,但如果碰到复杂的任务,条条框框就显得眼花缭乱,尽量多使用过程来做简化,即便是只调用一次。蓝牙对战的效果不是很好,即时类还是很吃延时的,关键是需要实现一次只接受一组数据,可以采用分隔符或者设置缓冲区等方法。还有,模拟器和电脑都连不上蓝牙,每次调试的时候都要往两个手机里面下,前前后后下了二十来次,真的是,麻烦…

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
App Inventor 2是一款用于创建移动应用程序的图形化编程环境,它也支持与蓝牙设备进行通信蓝牙是一种无线通信技术,可以使手机或其他电子设备与其他蓝牙设备进行数据传输。 在App Inventor 2中,我们可以使用“蓝牙客户端”和“蓝牙服务器”组件来实现与蓝牙设备的通信。通过这些组件,我们可以通过蓝牙发送和接收数据。 首先,我们需要在App Inventor 2中添加蓝牙组件。然后,我们可以使用“蓝牙客户端”组件来连接到其他蓝牙设备,并使用“发送文本”块来发送数据。类似地,我们可以使用“蓝牙服务器”组件来创建自己的蓝牙设备,并使用“接收文本”块来接收其他设备发送的数据。 在连接到蓝牙设备时,我们需要先搜索并配对设备。一旦成功连接,我们就可以开始进行数据传输。我们可以发送字符串、数字、字节等类型的数据。当收到数据时,我们可以使用“当接收到文本”事件块来处理它。 通过使用App Inventor 2的蓝牙功能,我们可以创建许多有趣和实用的应用程序。例如,我们可以创建一个应用程序,通过蓝牙连接到智能家居设备,控制灯光、温度等设备。我们还可以创建一个用于远程控制机器人或车辆的应用程序。 总的来说,App Inventor 2的蓝牙功能非常强大且易于使用。它使我们能够轻松实现与蓝牙设备的通信,为我们提供了创造各种移动应用程序的机会。无论是用于娱乐、教育还是工业领域,蓝牙功能都能为我们提供许多便利和创新的可能性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值