首页 / 资讯中心 / 文章详情

保姆级学习开发安卓手机软件实战(八)--根据通信协议接收并校验数据包,实现编码解码功能(上)

保姆级学习开发安卓手机软件实战(八)--根据通信协议接收并校验数据包,实现编码解码功能(上) ★ FEATURED ARTICLE
上节我们把网络调通啦,这节开始进行网络通信吧,常规我们开发流程,会有一个通信协议,然后根据通信协议内容,我们将对应字节发送给设备,对设备进行控制,设备也会将约定的字节发给我们,我们进行解析,那本节的内容从如何接收数据包,并判断是否完整、正确、如何处理粘包开始。这个数据包格式你们可以自定义,我先给大家介绍下我的,后续我也会用一条我自己的指令来演示后续的整个流程,下面是我整个包的结构:那本节我们主要需要新建文件:CommunicateHelper.kt,作用是CRC16校验 + 拆包(判断帧完整)+ 指令识别 + 发送帧封装(包头+长度+指令码+CRC 拼起来)那我们开始本节内容吧~~实现通信协议全局静态类:新建data/remote/ProtocolConst.kt这里呢,我们优先把协议里面的包头,指令码,对应字节等放入一个静态类中,后续多个地方调用则使用这个静态类,这样做主要是为了解决后续改参数不用改动多个地方,例如,修改包头,只需要修改这个静态类文件,其他地方不需要修改:package com.example.jstz1
阅读完成 · 觉得有帮助?
咨询建站