最新
推荐
2014年高等教育信息化十大“关... 01-04 教育部成立教育信息化专家组 12-24
CERNET第二十一届学术年会 11-24 李志民:互联网促进人类文明迈... 11-15
|
移动获取条码数据的方式 采用手机自带的摄像头来识别条码的速度和正确率均不能达到长时间、大批量的读取要求,并且受制于手机硬件和环境的影响。为了快速、准确地获取条码数据,我们采用了蓝牙条码扫描器。 Android蓝牙连接模式 标准蓝牙软件协议结构见图1。Android中操作蓝牙主要是下面四个类:
图1 标准蓝牙软件协议结构 1. BluetoothAdapter 蓝牙适配器; 2. BluetoothDevice这个类描述了一个蓝牙设备; 3. BluetoothServerSocke t 相似于S o c k e t; 4 . Bl u e t oo t h S o c k e t:这个类与BluetoothServerSocket相对,是客户端。Service和Boradcast提供条码数据 参考SDK文档和Android的蓝牙代码示例,完成手机和蓝牙条码的连接。要注意的是在读取中如何正确截断读取的条码,并通过Sevice后台运行,通过Broadcast广播获得的条码和出错信息,实例线程代码如下: public void run() { byte[] buffer = new byte[1]; byte[] sendbuf=new byte[20]; int bytes=0; while (true) { try { int i=0; while(bytes!=-1) { bytes = mmInStream.read(buffer); sendbuf[i]=buffer[0]; i++; if(buffer[0]==0x0D) { String temp=new String(sendbuf,0,i); if(temp!=null) { Intent mIntent=new Intent(“test”); mIntent.putExtra(“barcode”, temp); sendBroadcast(mIntent); } i=0; } } } catch (IOException e) { Intent mIntent=new Intent(“test”); mIntent.putExtra(“barcode”, temp); sendBroadcast(mIntent); break; } }
|
版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号
关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com