本库优势:
1.同时满足USB通信和USB转串口通信,免去维护多个SDK烦恼
2.超简单的使用方式,超简洁的API,超清晰的代码逻辑+注释
3.支持全方位自定义扩展,与业务高度解耦,满足各种场景需求
4.极致封装,无需关注繁琐的USB插拔逻辑
github地址:https://github.com/Liuguihong/AndroidUsbSerialSdk
1.添加依赖
compile ‘com.github.Liuguihong:AndroidUsbSerialSdk:1.0.0’
2.创建CommonUsbSerialSdk对象
CommonUsbSerialSdk mCommonUsbSerialSdk = new CommonUsbSerialSdk(this);
3.添加配置(可选)
mCommonUsbSerialSdk.setBaudRate(115200) // 波特率,usb转串口通信需要配置
.setDataBits(UsbSerialPort.DATABITS_8) // 数据位,usb转串口通信需要配置
.setStopBits(UsbSerialPort.STOPBITS_1) // 停止位,usb转串口通信需要配置
.setParity(UsbSerialPort.PARITY_NONE) // 奇偶校验位,usb转串口通信需要配置
.setForceGrant(true) // 强制授权,授权不成功重复弹出授权弹窗
.setPortType(PortType.USB_TO_SERIAL) // 通信类型
4.设置USB设备过滤条件
mCommonUsbSerialSdk.setDeviceFilter(new IDeviceFilter() {
@Override
public boolean isTargetDevice(UsbDevice usbDevice) {
return usbDevice != null
&& usbDevice.getProductId() == 123
&& usbDevice.getVendorId() == 456;
}
});
5.设置读写数据回调
mCommonUsbSerialSdk.setUsbSerialListener(new UsbSerialListener() { // 读写数据回调
@Override
public void onWrite(byte[] bytes) {
}
@Override
public void onRead(byte[] bytes) {
}
})
6.通信
mCommonUsbSerialSdk.write(null);