本文介绍了Android串口通信封装之OkUSB的示例代码,分享给大家。具体如下:
Github传送门:OkUSB
OkUSB
一个简洁的Android串口通信框架。
功能简介
用法简介
Gradle
allprojects { repositories { ... maven { url 'https://jitpack.io' } } } dependencies { compile 'com.github.zhouzhuo810:OkUSB:1.0.0' }
具体用法
1.在AndroidManifest.xml中添加如下特性:
在需要连接串口的Activity中添加:
2.在res文件夹创建xml文件夹,新建device_filter.xml
3.前面都是准备工作,这里才真正使用。
//初始化 usb = new USB.USBBuilder(this) .setBaudRate(115200) //波特率 .setDataBits(8) //数据位 .setStopBits(UsbSerialPort.STOPBITS_1) //停止位 .setParity(UsbSerialPort.PARITY_NONE) //校验位 .setMaxReadBytes(20) //接受数据最大长度 .setReadDuration(500) //读数据间隔时间 .setDTR(false) //DTR enable .setRTS(false) //RTS enable .build(); //实现监听连接状态和数据收发。 usb.setOnUsbChangeListener(new USB.OnUsbChangeListener() { @Override public void onUsbConnect() { Toast.makeText(MainActivity.this, "conencted", Toast.LENGTH_SHORT).show(); } @Override public void onUsbDisconnect() { Toast.makeText(MainActivity.this, "disconencted", Toast.LENGTH_SHORT).show(); } @Override public void onDataReceive(byte[] data) { tvResult.setText(new String(data, Charset.forName("GB2312"))); } @Override public void onUsbConnectFailed() { Toast.makeText(MainActivity.this, "connect fail", Toast.LENGTH_SHORT).show(); } @Override public void onPermissionGranted() { Toast.makeText(MainActivity.this, "permission ok", Toast.LENGTH_SHORT).show(); } @Override public void onPermissionRefused() { Toast.makeText(MainActivity.this, "permission fail", Toast.LENGTH_SHORT).show(); } @Override public void onDriverNotSupport() { Toast.makeText(MainActivity.this, "no driver", Toast.LENGTH_SHORT).show(); } @Override public void onWriteDataFailed(String error) { Toast.makeText(MainActivity.this, "write fail" + error, Toast.LENGTH_SHORT).show(); } @Override public void onWriteSuccess(int num) { Toast.makeText(MainActivity.this, "write ok " + num, Toast.LENGTH_SHORT).show(); } });
4.如果是Activity,可以在onDestroy中调用如下代码关闭串口。
if (usb != null) { usb.destroy(); }
License
Copyright 2017 zhouzhuo810 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
火柴人绳索英雄2无限金币版 (Stickman Rope Hero 2)安卓版v2.2v3.4.2
下载奥特曼之格斗超人内测版本 安卓最新版v11.0.0
下载奥特曼之格斗超人百度版 安卓版v11.0.0
下载奥特曼之格斗超人4399游戏盒版 最新安卓版v11.0.0
下载德凯奥特曼D闪光剑模拟器 安卓版v1.0
德凯奥特曼D闪光剑模拟器是一个非常有趣的奥特曼变身模拟器,可
亚刻觉醒器 安卓版v1.1
亚刻觉醒器模拟器是一个非常有趣的奥特曼变身模拟器,为喜欢亚刻
海上餐厅无限金币版 v1.0
海上餐厅免广告版是游戏的破解版本,在该版本中为玩家去除了广告
阿西美女室友竟然全解锁版 v1.0.2
阿西美女室友竟然内置菜单版是游戏的破解版本,在该版本中为玩家
我是大东家正版 最新版v1.2.738
我是大东家正版是一款放置类模拟经营手游,玩家将回到古代成为家