只需要基于开源项目zxing-lib,便可轻松创建独立二维码App,也可将二维码功能集成进App内。本文也是zxing-lib的使用文档。同时抛砖引玉,欢迎大家一起共建zxing-lib。
项目地址:https://github.com/wangym/zxing-client-android
遵循协议:Apache License Version 2.0
简介:zxing-lib是一款开源二维码扫码库,基于ZXing进行剪裁和二次开发,支持更多的个性扩展功能,全库仅52KB,以Android library project输出,能被快速使用和集成。
(以下步骤基于已有Android开发经验为前提)
1、环境准备:
检出zxing-lib项目并导入IDE
git clone git@github.com:wangym/zxing-client-android.git
导入IDE后将zxing-lib设为Android library project,并以library方式引入你正在开发的Android代码工程内
2、调用扫码:
调用zxing-lib库的扫码界面
/** * @author yumin */ public class MainActivity extends Activity { /** * */ private static final int REQUEST_CODE = 200; @Override protected void onCreate(Bundle savedInstanceState) { //...... initActivity(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (null != data && requestCode == REQUEST_CODE) { switch (resultCode) { case Activity.RESULT_OK: data.setClass(this, CaptureResultActivity.class); startActivity(data); break; default: break; } } } private void initActivity() { //...... Button btnScanUtf8 = (Button) findViewById(R.id.scan_utf_8); btnScanUtf8.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View view) { callCapture("UTF-8"); } }); } private void callCapture(String characterSet) { Intent intent = new Intent(); intent.setAction(Intents.Scan.ACTION); // intent.putExtra(Intents.Scan.MODE, Intents.Scan.QR_CODE_MODE); intent.putExtra(Intents.Scan.CHARACTER_SET, characterSet); intent.putExtra(Intents.Scan.WIDTH, 600); intent.putExtra(Intents.Scan.HEIGHT, 400); // intent.putExtra(Intents.Scan.PROMPT_MESSAGE, "type your prompt message"); intent.setClass(this, CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE); } }
调用CaptureActivity即可呼出扫码界面,支持设定个性参数,当扫码成功后返回到CaptureResultActivity
3、获取结果:
获取二维码扫码之后的结果
/** * @author yumin */ public class CaptureResultActivity extends Activity { /** * */ private TextView tvResult; private TextView tvResultFormat; private TextView tvUri; @Override protected void onCreate(Bundle savedInstanceState) { //...... initActivity(); initData(); } private void initActivity() { tvResult = (TextView) findViewById(R.id.tv_result); tvResultFormat = (TextView) findViewById(R.id.tv_result_format); tvUri = (TextView) findViewById(R.id.tv_uri); } private void initData() { Intent intent = getIntent(); if (null != intent) { tvResult.setText(intent.getStringExtra(Intents.Scan.RESULT)); tvResultFormat.setText(intent.getStringExtra(Intents.Scan.RESULT_FORMAT)); tvUri.setText(intent.toUri(intent.getFlags())); } } }
二维码扫码成功后调出CaptureResultActivity,上例将结果直接显示,本质上是通过Intent获取扫码结果的
完整示例见zxing-lib-example。但请不要局限于示例中的使用方式,比如在二维码扫码成功后,并非只能通过一个Activity才能取到扫码的结果。请结合具体场景灵活运用。
如有任何疑问或建议,请随时联系我 :)
相关推荐
Android实现二维码扫描功能(四)-ZXing识别图片二维码,从相册中选择图片并识别图中二维码,详见:http://blog.csdn.net/ahuyangdong/article/details/77487650,持续更新的版本:...最新的lib版本:...
2.lib文件夹下的zxing-2.2-client.jar和zxing-2.2-core.jar 为依据 ZXing-2.2.zip 中的core包和javase包的源码导出的jar 3.需要使用JDK1.6 4.本工程实现二维码的生成和读取(文件读取方式,非摄像头读取),支持...
从zxing框架里提取出的Android端扫二维码的库和示例程序
这个项目是 eclipse 中 zxing for android 的一个残酷分支。 进行大量编辑以使代码符合 Java 1.6。 zxing 项目使用 Java 1.7 它生成一个单独的 jar 文件,如果您需要,您可以从 bin 目录中获取该文件。 如果您想在...
Android对ZXing扫码工具界面定制和扫码效率优化做了讲解,博客地址http://blog.csdn.net/ahuyangdong/article/details/76407722。最新的lib版本:https://github.com/ahuyangdong/QrCodeLib
Android二维码扫描功能开发,采用ZXing插件实现,详见:http://blog.csdn.net/ahuyangdong/article/details/76405557。最新的lib版本:https://github.com/ahuyangdong/QrCodeLib
这是编译过的zxing 3.0.0 核心包文件 将核心包导入到 android/lib/目录下即可
android 上二维码识别的zxing jar包。直接可以用 (免费) zxing官网提供的项目是一整个完整的app,如果要使用。需要自己手动删减,修改,编译打包。 这里提供的就是删改好之后直接可以用的jar包
自己写的关于扫描二维码例子,使用了zxing的开源框架,里面已经包含了lib包,下载导入即可使用
Android zxing生成 扫描二维码(含有源码lib)
基于最新2018-03月的zxing代码库的zxinglibrary。封装修改好的调用库。 用android studio导入库即可使用扫描二维码功能。
android 5.0手机出现后 很多手机都已经使用64位芯片 造成仅有armeabi armeabi-v7a 相关的Zbar Zxing二维码扫描出现打开就闪退 报:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip...
Android实现二维码扫描功能(三)-闪光灯控制文章源码。详见:http://blog.csdn.net/ahuyangdong/article/details/76793151。最新的lib版本:https://github.com/ahuyangdong/QrCodeLib
二维码的扫描和识别 下载后,把jar文件当道lib目录下 在项目中引用即可
ZXingAndroidLib 是基本的 Zxing lib 实现。 要实现此库,您需要: 克隆这个项目 将其导入您当前的项目 将其添加为 gradle 中的依赖项 在setting.gradle中添加"include 'your_path:ZXingAndroidLib:app'" 在 ...
其中刘超大神使用ZXing写了一个快速集成二维码扫描的工具类,实现其核心的实现扫描的功能。使用时通过调用二维码工具类,几行代码就可以实现二维码扫描的功能! 一、实现对二维码的扫描 使用步骤: 1.在module的...
Zbar二维码扫描解析的效率高于zxing 建议适用Zbar扫描 里面的ZbarLib是Eclipse版本的类库 可以在eclipse上使用
主要为大家详细介绍了Android Zxing二维码扫描图片拉伸问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
QrCodeLibrary Android生成二维码的library 引用方式Gradle compile 'com.trywang.qrcodelibrary:qrcodelibrary:1.0.3' 使用方式 ZXingUtils.createQRImage(");
QrCodeLib ...Android ZXing二维码扫描库,支持二维码扫描和生成,演示效果: 特别提醒:master分支使用的是传统的appcompat包,如需支持AndroidX开发,请至 博客讲解 致谢 ZXing HappyMiao/QrCodeScan