22.4.4 手机端APP的开发
APP inventor2是基于云端计算服务器的可在线编写开发Android应用软件的开发平台,抛弃过于复杂的程序编写,代码按照逻辑方式拼接而成的程序框图结构形式组成,首先,要对整个屏幕UI做好布局设计,例如按钮的布局、按键背景、消息对话框、蓝牙客户端等。其次,设计的蓝牙连接控制客户端软件,需要的元件有BluetoothClient(蓝牙客户端)、Notifier(通知框)、texttospeech(文本对话框)还有4个button(按钮),用来做播放、暂停、上下曲的控制,这些元件可以从用户界面的元件库中获取。当手机端与HC05(从机)相连接后,在界面的connect中便可以显示HC05蓝牙串口的名称,如果不止有一个蓝牙设备,从列表中就可以选择想要的连接设备。此次用到的元件见表22-3,整个界面UI的布局如图22-8所示。
表22-3 蓝牙控制APP控件按钮
图22-7 4线驱动写数据/命令程序流程
图22-8 蓝牙控制APPUI布局
程序编写过程单击连接connect,执行connectListPicker前调用显示蓝牙设备的地址和名称选择框,并且可以提供所要连接设备的选择选项,在connectListPicker执行后,if语句通过对与蓝牙串口通信连接成功进行判断,如果与蓝牙串口HC05成功连接,则显示ok和connet,否则显示unabletoconnet,连接成功后,对应的按钮向串口发送的数据信息是不一样的,当lastbutton单击后,调用蓝牙向串口发送1字节的数字0;nextbottom被按下,则发送1,类似播放和暂停对应的信息则分别2和3,断开与蓝牙的接通按钮,则向串口发送4。待到程序完成之后检查代码没有错误将整个程序应用导出为APP格式,然后在手机上安装,系统可以正常地运行,效果也达到预期的结果,整个程序代码如下:
WhenconnectListPicker连接前;
do设置蓝牙端设备、地址和名称在connectListPicker中显示;
When connectListPicker连接后;
doif成功调用蓝牙端地址显示和设备选择;
then(调用TextToSpeech1显示信息“Ok”;
调用Notifier1.显示信息“connect”;)
else调用Notifier1显示信息“unabletoconnet”
if lastButton按下;
do调用蓝牙发送1字节数字0;
if nextButton按下;
do调用蓝牙发送1字节数字1;
if playButton按下;
do调用蓝牙发送1字节数字2;
if pauseButton按下;
do调用蓝牙发送1字节数字3;
if disconnectButton按下;
do调用蓝牙发送1字节数字4;