Android 最简单的二维码和条形码扫描生成工具
16lz
2021-01-23
Android 最简单的二维码和条形码扫描生成工具
本项目是一个AndroidStudio项目
主要功能:
生成条形码
条形码的内容自定义
扫描条形码
生成二维码
二维码内容自定义
扫描条形码
扫描形式:
手动扫描
机器自动扫码
=================================================================
使用方法:快速进入
步奏1:
AndroidStudio导入项目库:
compile 'com.hongyelinggu:scancode:1.0.0'
步骤2:
调用自己项目用到功能,现在把项目包含的功能做以示范
注意: 我们要用到的无论是生成二维码还是扫描二维码都是一个Activity,所以我们要做的就是传入参数启动Activity 现在我们了解一下方法:实例
intent = new Intent(this, CreateCodeActivity.class); intent.putExtra(Constant.REQUEST_SCAN_MODE, Constant.REQUEST_SCAN_MODE_ALL_MODE); intent.putExtra(Constant.CREAL_CODE_KEY, "1234567890CSDCECECECSC"); startActivity(intent);
该方法是一个同时生成条形码和二维码的方法,现在以此为例,做详细说明 该方法中有两个重要参数:
● Constant.REQUEST_SCAN_MODE 扫描和生成的模板类型
● Constant.Constant.CREAL_CODE_KEY 生成图形的内容
参数说明:
引入包名 com.hylg.scancode.utils
类名:Constant
类参数说明:
/*** 生成二维码/条码 内容*/public static final String CREAL_CODE_KEY = "CreateQRKey"; /** * 扫描方式 KEY * 普通类型,扫完即关闭 REQUEST_SCAN_TYPE_COMMON * 手动连续扫描,扫完不关闭界面 REQUEST_SCAN_TYPE_REGIST * 自动连续扫码,扫完不关闭界面 REQUEST_SCAN_TYPE_REGIST */ public static final String REQUEST_SCAN_TYPE = "ScanType"; /** * 普通类型,扫完即关闭 */ public static final int REQUEST_SCAN_TYPE_COMMON = 0X0; /** * 手动连续扫描,扫完不关闭界面 * 其他类可以从REQUEST_SCAN_MODE_ALL_DATA获取扫描到的数据 */ public static final int REQUEST_SCAN_TYPE_REGIST = 0X1; /** * 自动连续扫码,扫完不关闭界面 * 其他类可以从REQUEST_SCAN_MODE_ALL_DATA获取扫描到的数据 */ public static final int REQUEST_SCAN_TYPE_REGIST_AUTO = 0X2; /** * 扫描/生成类型 KEY * 条形码或者二维码:REQUEST_SCAN_MODE_ALL_MODE * 条形码: REQUEST_SCAN_MODE_BARCODE_MODE * 二维码:REQUEST_SCAN_MODE_QRCODE_MODE */ public static final String REQUEST_SCAN_MODE = "ScanCreatMode"; /** * 条形码: REQUEST_SCAN_MODE_BARCODE_MODE */ public static final int REQUEST_SCAN_MODE_BARCODE_MODE = 0X100; /** * 二维码:REQUEST_SCAN_MODE_ALL_MODE */ public static final int REQUEST_SCAN_MODE_QRCODE_MODE = 0X200; /** * 条形码/二维码:REQUEST_SCAN_MODE_ALL_MODE */ public static final int REQUEST_SCAN_MODE_ALL_MODE = 0X300; /** * 扫码结果码code */ public static final int REQUEST_SCAN_MODE_CODE = 0X118; /** * 持续扫描到的数据 */ public static String REQUEST_SCAN_MODE_ALL_DATA = null;
两个重要的activity
生成图形Activity: CreateCodeActivity
接收参数: > 1.生成图像的类型 Constant.REQUEST_SCAN_MODE >> 图形类型详情查看Constant类 > 2.生成图形的内容 Constant.CREAL_CODE_KEY >> 图形的内容 都是放在intent中传递
扫描图形Activity: CommonScanActivity
接收参数: >1.扫描图形类型 Constant.REQUEST_SCAN_MODE: >> 图形类型详情查看Constant类 >2.扫描图形方式 Constant.REQUEST_SCAN_TYPE: >> 图形扫描方式详情查看Constant类
回调方法:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent intentDta) { super.onActivityResult(requestCode, resultCode, intentDta); if (intentDta != null) { String extra = intentDta.getStringExtra(Constant.REQUEST_SCAN_MODE); textView.setText(extra); System.out.println("扫码测试===========data==" +extra ); } }
如果是连续不断的扫描就得开线程循环不断的判断Constant.REQUEST_SCAN_MODE_ALL_DATA数据是否是null
/** * 测试扫描数据 */ private void testData() { new Thread(new Runnable() { @Override public void run() { try { while (true) { if (Constant.REQUEST_SCAN_MODE_ALL_DATA != null) { System.out.println("扫码测试=====001===" + Constant.REQUEST_SCAN_MODE_ALL_DATA); Constant.REQUEST_SCAN_MODE_ALL_DATA = null; } Thread.sleep(500); } } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); }
需要用到的权限
以上内容会不定期的维护,希望能帮助到哟用的人
更多相关文章
- android图形化学习1
- Android图形 - Bitmap
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩
- [置顶] 基于ichartjs图形库在android上使用HTML动态实现多数据源
- Android--shape-指定图形的corners、gradient、padding、size、s
- Android图形系统之Surface、SurfaceView、SurfaceHolder及Surfac
- Android图形架构分析总结
- 利用 ZXing Android Embedded 实现二维码处理