ZXING-二维码扫面
来源:互联网 发布:网络流行语遇上古诗词 编辑:程序博客网 时间:2024/04/27 15:42
转载:https://github.com/yipianfengye/android-zxingLibrary
使用方式:
- 集成默认的二维码扫描页面
在具体介绍该扫描库之前我们先看一下其具体的使用方式,看看是不是几行代码就可以集成二维码扫描的功能。
- 在module的build.gradle中执行compile操作
compile 'cn.yipianfengye.android:zxing-library:2.1'
- 在demo Application中执行初始化操作
@Override public void onCreate() { super.onCreate(); ZXingLibrary.initDisplayOpinion(this); }
- 在代码中执行打开扫描二维码界面操作
/** * 打开默认二维码扫描界面 */ button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE); } });
这里的REQUEST_CODE是我们定义的int型常量。
- 在Activity的onActivityResult方法中接收扫描结果
/** * 处理二维码扫描结果 */ if (requestCode == REQUEST_CODE) { //处理扫描结果(在界面上显示) if (null != data) { Bundle bundle = data.getExtras(); if (bundle == null) { return; } if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) { String result = bundle.getString(CodeUtils.RESULT_STRING); Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show(); } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) { Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show(); } } }
集成对二维码图片的解析功能
调用系统API打开图库
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("image/*");startActivityForResult(intent, REQUEST_IMAGE);
- 在Activity的onActivityResult方法中获取用户选中的图片并调用二维码图片解析API
if (requestCode == REQUEST_IMAGE) { if (data != null) { Uri uri = data.getData(); ContentResolver cr = getContentResolver(); try { Bitmap mBitmap = MediaStore.Images.Media.getBitmap(cr, uri);//显得到bitmap图片 CodeUtils.analyzeBitmap(mBitmap, new CodeUtils.AnalyzeCallback() { @Override public void onAnalyzeSuccess(Bitmap mBitmap, String result) { Toast.makeText(MainActivity.this, "解析结果:" + result, Toast.LENGTH_LONG).show(); } @Override public void onAnalyzeFailed() { Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show(); } }); if (mBitmap != null) { mBitmap.recycle(); } } catch (Exception e) { e.printStackTrace(); } }
执行效果
生成二维码图片
生成带Logo的二维码图片:
/** * 生成二维码图片 */ button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String textContent = editText.getText().toString(); if (TextUtils.isEmpty(textContent)) { Toast.makeText(ThreeActivity.this, "您的输入为空!", Toast.LENGTH_SHORT).show(); return; } editText.setText(""); mBitmap = CodeUtils.createImage(textContent, 400, 400, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)); imageView.setImageBitmap(mBitmap); } });
- 生成不带logo的二维码图片
/** * 生成不带logo的二维码图片 */ button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String textContent = editText.getText().toString(); if (TextUtils.isEmpty(textContent)) { Toast.makeText(ThreeActivity.this, "您的输入为空!", Toast.LENGTH_SHORT).show(); return; } editText.setText(""); mBitmap = CodeUtils.createImage(textContent, 400, 400, null); imageView.setImageBitmap(mBitmap); } });
- 支持控制闪光灯
/** * 打开闪光灯 */CodeUtils.isLightEnable(true);/** * 关闭闪光灯 */ CodeUtils.isLightEnable(false);
阅读全文
0 0
- ZXING-二维码扫面
- ZXing扫二维码,变形
- Android Zxing 二维码扫码性能优化
- Android Zxing 二维码扫码性能优化
- Android用Zxing扫二维码/生成二维码功能
- Android基于Google Zxing实现二维码、条形码的扫
- 使用 ZXing Android Embedded 实现二维码扫码
- 【Android】zxing扫码识别及生成二维码
- Android二维码扫码--精简版zxing使用教程
- Android二维码的生成与扫码-zxing
- 安卓通过zxing提供二维码扫码功能
- iOS 原生二维码的扫面功能
- iOS 二维码扫面 相册图片二维码读取和二维码的生成
- ZXing二维码/条形码扫码集成竖屏解决方案 version-3.2.1
- 修改基于zxing库的cordova扫描二维码插件BarcodeScan扫码界面的UI
- Android 中二维码扫码功能集成zxing注意事项 自定义扫码取景区
- Android 中二维码扫码功能集成zxing注意事项 自定义扫码取景区
- Android:实际运用Zxing集成二维码扫描 及 自定义扫码界面(demo源码)
- 决策树、SVM、AdaBoost方法的比较
- FindBugs错误描述
- 读《Python 自动化运维:技术与最佳实践》【思维导图版】
- bzoj 4926 皮皮妖的递推
- 分布式模式之Broker模式
- ZXING-二维码扫面
- JavaScript入门资料
- Unity读取txt文件并且用字典来使用txt里面的信息
- CY_NOTES_2
- 一张图搞懂容器所有操作
- mysql5.7新密码登录方式及密码策略
- 消息系统实现
- opencv3.1+cuda8.0+caffe报错
- Git详解之二:Git基础