NextQRCode ZXing开源库的精简版

**基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能
原文博客 附源码下载地址**

与原ZXingMini项目对比

NextQRCode做了重大架构修改,原ZXingMini项目与当前NextQRCode不兼容

dependencies {compile 'com.github.yoojia:next-qrcode:2.0-2'...
}

生成二维码图案

// 二维码中间图标
final Bitmap centerImage = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
// 生成的二维码图案
Bitmap qrCodeImage = new QRCodeEncoder.Builder().width(size) // 二维码图案的宽度.height(size).paddingPx(0) // 二维码的内边距.marginPt(3) // 二维码的外边距.centerImage(centerImage) // 二维码中间图标.build().encode(content);

二维码解码

final QRCodeDecoder mDecoder = new QRCodeDecoder.Builder().build();
// 传入二维码图案Bitmap对象然后解码成文本内容
String content = mDecoder.decode(bitmap);

使用 LiveCameraView 自动扫描解码

public class QRCodeScanActivity extends AppCompatActivity {public static final String TAG = QRCodeScanActivity.class.getSimpleName();private LiveCameraView mLiveCameraView;private ImageView mCaptureImage;private TextView mContentView;private final CaptureCallback mCaptureCallback = new CaptureCallback() {@Override public void onCaptured(Bitmap bitmap) {Log.i(TAG, "-> Got bitmap, show to capture view");mCaptureImage.setImageBitmap(bitmap);Observable.just(bitmap).map(new Func1<Bitmap, String>() {private final QRCodeDecoder mDecoder = new QRCodeDecoder.Builder().build();@Overridepublic String call(Bitmap bitmap) {return mDecoder.decode(bitmap);}}).subscribeOn(Schedulers.computation()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<String>() {@Override public void call(String content) {mContentView.setText(content);}});}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Window window = getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);setContentView(R.layout.activity_scan);mCaptureImage = (ImageView) findViewById(R.id.capture_image);mContentView = (TextView) findViewById(R.id.content);mLiveCameraView = (LiveCameraView) findViewById(R.id.capture_preview_view);mLiveCameraView.setPreviewReadyCallback(new CameraPreviewView.PreviewReadyCallback() {@Overridepublic void onStarted(Camera camera) {Log.i(TAG, "-> Camera started, start to auto capture");mLiveCameraView.startAutoCapture(1500, mCaptureCallback);}@Overridepublic void onStopped() {Log.i(TAG, "-> Camera stopped");mLiveCameraView.stopAutoCapture();}});}}

**基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能
原文博客 附源码下载地址**

基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能相关推荐

  1. C#生成二维码、调用摄像头扫描二维码

    二维码的生成和解码,有两个开源项目可以参考: 一个是google的zxing,另外一个是ThroughWork. zxing做的很全面,支持各种语言和平台,具体不多讲,自己查去.ThroughWork ...

  2. 【Android】实现生成二维码、条形码和扫描二维码的功能

    目录 一.添加依赖 二.布局文件 三.实现生成二维码的功能 四.效果图 一.添加依赖 要先添加一个第三方库来实现二维码的生成以及扫描二维码的功能,开源库如下: 在build.grade(Moudle) ...

  3. Vue 移动端实现调用相机扫描二维码或条形码

    一.开发前的准备 实现二维码或条形码的扫描识别比较普遍的做法是去调用微信 JS-SDK 的扫一扫功能(详见 概述 | 微信开放文档),或者支付宝 H5 开放的API(详见?支付宝H5开放文档). 但是 ...

  4. H5+在浏览器中打开相机扫描二维码

    刚开始提出要在手机浏览器中的HTML页面做扫描是有点懵的,一顿百度后搜到两种方法: 方案一,浏览器中打开相机navigator.mediaDevices.getUserMedia 自带浏览器不支持该属 ...

  5. 基于安卓android和微信小程序的点餐管理系统毕业设计(源码讲解)

    作者简介:Java.spring.安卓Android.ssm框架.前端.后端开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发.毕业设计开发.技术分享 怎么做基于安卓android和微信 ...

  6. android 外接扫码枪_Android手机(设备)连接扫描枪扫码遇到的问题

    以下内容以我发布前的时间为准,可能之后厂商给设备改进后都没有这些问题. 1.android手机连接扫描枪有些手机显示不了系统键盘 2.连接扫描枪使用的是百度输入法,条码是字母数字组合的扫码会出现乱码( ...

  7. Android与JS混编(js调用android相机扫描二维码)

    参考demo http://www.cnblogs.com/mythou/p/3280023.html        项目源码: https://github.com/weifengzz/Androi ...

  8. Vue 实现调用相机扫描二维码或条形码

    扫条形码: 扫二维码: zxing 下载: npm install @zxing/library --save 扫码组件内容: <template><div><video ...

  9. Android利用zxing用相机扫描识别二维码(添加闪光灯和本地二维码)超详细教程

    之前写了怎么用zxing的jar包进行简单的识别和生成二维码,以及生成带图片的二维码. 接下来单独说说怎么用相机扫描二维码,用相机扫描二维码相对于前面的生成二维码,识别二维码来说要麻烦一点,网上的教程 ...

最新文章

  1. 从windows server的文件服务到分布式文件服务(八)
  2. 关于Python课程
  3. 一个详尽的面向 SAP UI5 初学者的教程 - 如何在 SAP UI5 中绘制图表 Chart
  4. 腾讯地图api_数据库API接口的类型及应用场景
  5. 安徽大学2014年c语言平时作业,安徽大学2014年c语言平时作业
  6. 转:如何把 SQL Server 的自增标志列清零
  7. 用python画皮卡丘-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘
  8. html div 球形,CSS3球形
  9. Java中List和ArrayList的区别
  10. java实现中文大写金额转小写数字
  11. 《鬼武者3》全攻略宝典
  12. 乐高打印机robotc
  13. 机器学习笔记09:支持向量机(二)-核函数(Kernels)
  14. 虚函数、纯虚函数、虚基类、抽象类、虚函数继承、虚继承
  15. layer数据表格换行
  16. 惊呆了!692分的学霸都想当程序员,理由居然是
  17. 用软件可编程FPGA加速网络边缘的移动应用总结
  18. 网络资源下载方式:http/https、ftp/sftp、BT种子、磁力下载、ed2k下载等的区别
  19. Windows平台分布式架构实践 - 负载均衡
  20. 万达电商CEO董策离职

热门文章

  1. unity 角色换装
  2. 数组各元素出现的次数
  3. SDUT 3400 数据结构实验之排序三:bucket sort
  4. sublime插件 TortioseSVN
  5. PHP中的mb_convert_encoding与iconv函数介绍
  6. Circle-Progress-View
  7. 跨域(三)——JSONP
  8. html设置点击事件相同,html有多个类名相同的div,如何给每个div绑定click事件并区分?...
  9. java gettime_Java Util.getTime方法代码示例
  10. ADC实验(读取引脚电压值)