项目背景:由于设备本地按键和显示屏资源受限,本地操作很不方便。通过手机app,来控制设备,提高用户的体验。
功能:设备发现,设备连接和断开,给设备OTA升级,控制设备音量,音效,显示屏亮度;DAB,FM,蓝牙,USB,HDMI,Auracast RX/TX等通道控制;问题排查手册,用户使用手册,Bass+等
通过ble,socket以及http等通道与设备进行交互;
定义和规范设备与app之间的指令交互和协议;对指令进行封装和拆分;采用门面,代理,单例,工厂等设计模式,对多通信进行抽象和封装;数据,业务逻辑以及页面之间,在设计时,采用mvvm思想,极大的降低了相互之间的耦合度;提高了代码的复用性,以及测试的方便性,
技术栈:livedata,viewmodel,retrofit,协程等
frable连接的稳定性,读写时序,兼容性;http并发请求以及longpolling