新买的便携式蓝牙标签打印机集成测试
起因
因为我有想将自己之前写的Android蓝牙测试工具库再封装成一个flutter插件,
于是双十一买了一个提供SDK的便携式蓝牙标签打印机。
然后这几天到了…
分析提供的SDK
首先先分析店家提供的例子
口述一下核心部分实现:
例子采用的是一个开了一个打印机服务进程,提供AIDL,然后例子应用通过AIDL Binder服务进程去操作打印机, 蓝牙连接部分的例子采用的是SPP连接没什么特别都是很常规的。
开始使用蓝牙测试工具进行测试打印
查看完核心部分于是我就直接用先用之前写的Android蓝牙测试工具进行连接测试。
连接成功后试了一下,发现自己复制过来的测试文本打印出来。全是乱码。
打印乱码分析
一顿分析,原来他的测试保存的文本文件是ANCI编码的,然后读取byte再通过Sokect发送到打印机。这意味着他机器里接受的是ANCI编码的字节。
从提供的jar包里面将文本弄出来后
而Android运行后输入的都是Unicode的文本。于是打印出来的就都是乱码。
JAVA中Unicode转ANCI
改了后重新运行打印结果
工具链接
蓝牙工具github链接: 蓝牙测试链接.