Android开发工控软件--蓝牙控制

满城风絮 2013-04-23

最近一直在忙Android的工控软件设计,写一点心得,希望对这方面开发的有一点带你帮助。

1)从蓝牙接收了数据又如何保存?

之前没有想过接收的数据如何保存,就简单的用一个字节数组进行保存,后来处理数据的时候就遇到了一堆问题,不是指令处理不对,就是接收的数据少了一部分,或是接收的数据还没有处理又被覆盖了,最后只能采用队列的方式保存数据,然后再根据定义的数据格式进行提取数据,再进行处理。

2)设备与手机终端之间的通信协议如何设计?

项目已开始也没有好好考虑这个通信协议,通信格式不规范,这样会增加数据处理的难度,还会造成数据处理出错,工控软件还讲究的是实时性,所以 这个处理速度还是必须的,一个很好的通信协议对整个软件构架都有影响,设计不好,只能是不是得打补丁,建议使用TLV的格式,设计设备与终端之间的通信协议。

3)设备与终端之间是否需要心跳?

这个毫无疑问是必须的,如果没有心跳,那蓝牙断开连接了双方都不知道,这样一直开着终端是毫无意义的。

4)如何增强用户体验?

android软件不单单是界面需要用户体验高,工控软件内部处理流程也需要处理好,内部的流程直接影响到用户体验,比如说终端与设备之间自动关联,设备与终端断开连接以后,提醒用户去关联设备,或是内部进行自动连接。

相关推荐