手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信

我们知道App inventor 是当下比较受欢迎的手机编程工具,当然它也可以实现许许多多有意思的东西,今天我们用它来编写一个聊天室APP。

一、实现原理

App Inventor 提供了两个蓝牙通信组件:蓝牙客户端、蓝牙服务器,这两个组件配合使用,可以实现简单的通信功能。

简单的说就是,可以将蓝牙服务器用于创建聊天室,蓝牙客户端用于加入聊天室。
基本界面如下

二、使用说明书

两个手机均需要下载该APP,在此之前,需要蓝牙配对成功。


三、与蓝牙服务器相关的代码


【1】全局变量“角色”
用来表明当前设备在通信中的角色:服务器或客户端。
【2】“在线”设置
当选中“在线”复选框时,表明本设备现在充当服务器的角色,可以接受来自其他设备的连接请求。一旦该设备成为服务器,“选择列表”及“断开连接”组件将不可用。


手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信
【3】接收连接事件
当蓝牙服务器收到连接请求时,将触发该事件。如果连接成功,即连接状态值为真,则向所连接的设备发送“已连接到服务器,可以开始聊天了...”,并开始启用计时器,随时监听客户端发来的消息;如果连接不成功,则不启用计时器。如图3所示。
手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信

 

四、与蓝牙客户端相关的代码


【1】当“选择列表”准备选择时
当点击“选择列表”时,将打开一个列表,里面列出了所有已配对的蓝牙设备,用户可以选择其一进行连接。
手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信
【2】当“选择列表”完成选择时
当用户选择了一个蓝牙设备,意味着用户向所选设备发出了连接请求,“让蓝牙客户端连接设备”的结果可能是真(连接成功),也可能是假(连接失败)。如果成功,则设全局变量“角色”值为“客户端”,并启动计时器;如果失败,则不启动计时器。
手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信

手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信

 


四、发送消息


【1】全局变量“聊天内容”与自定义过程“拼字符串”:以适当的方式来呈现聊天记录,即,为聊天内容添加换行符,并表明发言者身份。
手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信
【2】发送一条消息
手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信

 

五、接收消息


手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信

 

六、清空聊天记录

 


手机APP编程之app inventor实例(三),利用蓝牙实现聊天室功能,蓝牙双向通信

到这里就结束了,每周更新,谢谢观看。