WiFi遥控器的手机APP制作

制作一个简易的WIFI控制器,通过手机发送信息控制硬件模块,使用易语言编程,源码基本公开

1.环境导语

由于没有 java 的基础,使用 Android Studio 编写安卓手机apk非常的困难,并且我发现使用 Android Studio 会占用极大的内存(已解决),运行虚拟机会导致程序崩溃。所以此手机app改用较为简单的中文编程语言易语言编写,采用 E4A 进行编写。

2.E4A 编程代码

(1)主窗口

布局

WiFi遥控器的手机APP制作
主窗口布局

代码

变量 已切换 为 逻辑型

事件 开关1.状态被改变(状态 为 逻辑型)
	如果 编辑框1.内容="" 或 编辑框2.内容="" 则
		信息框("Tao Space","连接服务器失败","确定")
		开关1.状态 = 假
	否则
		已切换 = 假
		客户1.连接服务器(编辑框1.内容,编辑框2.内容,2000) 
		保存对象("客户1",客户1)
		公用模块.IP = 编辑框1.内容
		公用模块.端口 = 编辑框2.内容
	结束 如果
结束 事件

事件 客户1.连接完毕(结果 为 逻辑型)
	如果 结果 = 真 则
		弹出提示("连接成功")
		如果 已切换 = 假 则
			切换窗口(创建 模式窗口)
		结束 如果
		已切换 = 真
	否则 
		信息框("Tao Space","连接服务器失败","确定")
		开关1.状态=假
	结束 如果
结束 事件

事件 标签3.被单击()
	 打开指定网址("https://www.tao-space.top/")
结束 事件

事件 标签4.被单击()
	打开指定网址("https://www.tao-space.top/")
结束 事件

(2)模式窗口

布局

WiFi遥控器的手机APP制作
模式窗口布局

代码

事件 按钮1.被单击()
	切换窗口(创建 通信窗口普通模式)
结束 事件

事件 按钮2.被单击()
	切换窗口(创建 通信窗口控速模式)
结束 事件

事件 模式窗口.按下某键(返回键 为 整数型,传址 屏蔽 为 逻辑型)
	切换窗口(创建 主窗口)
结束 事件

(3)通信窗口普通模式

布局

WiFi遥控器的手机APP制作
通信窗口普通模式布局

代码

变量 客户1 为 客户

事件 通信窗口普通模式.创建完毕()
	客户1 = 读取对象("客户1") '读取在主窗口中保存的客户组件
结束 事件

事件 按钮1.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("1","GBK"))
结束 事件
事件 按钮1.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮3.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("2","GBK"))
结束 事件
事件 按钮3.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮2.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("3","GBK"))
结束 事件
事件 按钮2.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮4.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("4","GBK"))
结束 事件
事件 按钮4.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮8.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("5","GBK"))
结束 事件
事件 按钮8.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮5.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("6","GBK"))
结束 事件
事件 按钮5.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮6.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("7","GBK"))
结束 事件
事件 按钮6.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮7.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("8","GBK"))
结束 事件
事件 按钮7.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 按钮9.被单击()
	客户1.发送数据(文本到字节("0","GBK"))
结束 事件


事件 客户1.连接断开()
	按钮10.标题 = "重新连接"
	标签1.标题 = "设备已断开"
结束 事件

事件 按钮10.被单击()
	如果 按钮10.标题 = "断开连接" 则
		客户1.断开连接()
		按钮10.标题 = "重新连接"
		标签1.标题 = "设备已断开"
	否则
		客户1.连接服务器(公用模块.IP,公用模块.端口,2000)
	结束 如果
结束 事件

事件 客户1.连接完毕(结果 为 逻辑型)
	如果 结果 = 真 则
		按钮10.标题 = "断开连接"
		标签1.标题 = "设备已连接"
	结束 如果
结束 事件

事件 通信窗口普通模式.按下某键(返回键 为 整数型,传址 屏蔽 为 逻辑型)
	切换窗口(创建 模式窗口)
结束 事件

(4)通信窗口控速模式

布局

WiFi遥控器的手机APP制作
通信窗口控速模式布局

代码

变量 客户1 为 客户
变量 位置 为 整数型
事件 通信窗口控速模式.创建完毕()
	客户1 = 读取对象("客户1") '读取在主窗口中保存的客户组件
结束 事件

事件 按钮1.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("5" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮1.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮3.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("6" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮3.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮2.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("1" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮2.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮4.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("3" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮4.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮8.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("2" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮8.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮9.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("8" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮9.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮6.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("4" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮6.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮7.被按下(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("7" & "," & 公用模块.位置,"GBK"))
结束 事件
事件 按钮7.被弹起(横坐标 为 整数型,纵坐标 为 整数型)
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件


事件 按钮5.被单击()
	客户1.发送数据(文本到字节("0,0","GBK"))
结束 事件

事件 水平滑块条1.位置被改变( 位置 为 整数型)
	公用模块.位置 = 位置
结束 事件

事件 客户1.连接断开()
	按钮10.标题 = "重新连接"
	标签1.标题 = "设备已断开"
结束 事件

事件 按钮10.被单击()
	如果 按钮10.标题 = "断开连接" 则
		客户1.断开连接()
		按钮10.标题 = "重新连接"
		标签1.标题 = "设备已断开"
	否则
		客户1.连接服务器(公用模块.IP,公用模块.端口,2000)
	结束 如果
结束 事件

事件 客户1.连接完毕(结果 为 逻辑型)
	如果 结果 = 真 则
		按钮10.标题 = "断开连接"
		标签1.标题 = "设备已连接"
	结束 如果
结束 事件

事件 通信窗口控速模式.按下某键(返回键 为 整数型,传址 屏蔽 为 逻辑型)
	切换窗口(创建 模式窗口)
结束 事件

(5)公用模块

代码

静态 变量 IP 为 文本型  
静态 变量 端口 为 文本型
静态 变量  位置 为 整数型
网站即将升级完成!!!