前言
这段时间,公司一直在挑用不同的pda,于是各种扫描调用学习起来,之前,用的优博讯的pda并没有提供相关开发文档,所以就用一般的pda扫描获取值的方法来获取pda扫描数据了,后来提供了开发文档,于是想把扫描获取方式改下,于是便有了这篇文章。
今天涉及的内容有:
- jar包的依赖
- UBX主要扫描方法介绍
- 扫描类UBXScan在MainActivity中的调用
- 扫描类UBXScan源码
- 效果图
先来波效果图
一. jar包的依赖
优博讯的pda扫描调用,需要导入他们的扫描开发jar,由于jar包的导入是一个比较基本的事情,可是我之前一直不会,于是都详细讲解了,这篇的话,就不做详细讲解了,感兴趣的可以看看我写的其他的jar包导入的文章。这里就简单讲下jar包要放置的位置,如下图:
二.UBX主要扫描方法介绍
优博讯扫描的开发文档很多,感觉有些乱,但关于扫描这块也就几个基本的方法
初始化
//初始化
ScanManager mScanManager = new ScanManager();
pda扫描的所有方法都基于ScanManager。
打开扫描头
mScanManager.openScanner();
开始扫描
mScanManager.startDecode();
结束扫描
mScanManager.stopDecode();
这是些基本方法,当然还有一些其他的基本配置需要设置,这里我将pda扫描的方法都封装到了UBXScan类中。下面讲讲UBXScan的使用。
三.扫描类UBXScan在MainActivity中的调用
UBX的扫描我使用的是广播接收扫描出来的数据的方式,由于其提供的开发文档有些乱,再加上文档上说此种方法适合所有的UBx不同型号的pda,然后我就选用了广播方式开发,应该还有一个直接调用api的方法的。
ok,下面讲讲UBXScan类中的一些主要方法吧:
初始化
UBXScan mUBXScan=new UBXScan();
扫描监听,此处用于接收扫描出的东西
setOnScanListener(Context context,OnScanListener listener)
扫描销毁
destroy()
下面贴出UBXScan扫描在MainActivity中使用代码:
package com.example.testdemo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.device.ScanManager;
import android.device.scanner.configuration.PropertyID;
import android.os.Vibrator;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.base.BaseActivity;
import com.example.function.UBXScan;
import butterknife.BindView;
public class MainActivity extends BaseActivity {
@BindView(R.id.tv_text)
TextView mTvText;
@BindView(R.id.btn_confirm)
Button mBtnConfirm;
private UBXScan mUBXScan;
@Override
public int getContentViewId() {
return R.layout.activity_main;
}
@Override
public void initData() {
mUBXScan=new UBXScan();
mBtnConfirm.setText("重置");
}
@Override
public void setListener(){
mUBXScan.setOnScanListener(MainActivity.this, new UBXScan.OnScanListener() {
@Override
public void getCode(String code) {
mTvText.setText(code);
}
});
//按钮点击事件
mBtnConfirm.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
mTvText.setText("");
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
//扫描销毁
mUBXScan.destroy();
}
}