android 集成Zxing教程
来源:互联网 发布:linux驱动书籍 编辑:程序博客网 时间:2024/06/01 09:32
关于Zxing集成教程,网上有很多很多,我想说你妹的很多都是“copy,copy,copy”,问题是尼玛到最后还出不来。。。前几天看了android Bus网站,看到了一个集成Zxing集成,挺新颖的,就自己进一步完善了以下功能,供大家使用。
主要功能:
- 扫描二维码
- 相册选取照片,扫描二维码
- 夜间,开灯关灯
- 生成不带Logo和带Logo二维码
重点是集成,关于集成所需要的代码包,我会在文章末尾附上!
1:首先在AndroidManifest.xml中添加权限以及声明扫面Activity如下代码:
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.RESTART_PACKAGES" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> > <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.INTERNET" />
<activity android:name=".zxing.activity.CaptureActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar"></activity>
2:在app的build.gradle中添加如下代码:
compile 'com.journeyapps:zxing-android-embedded:3.3.0' compile 'com.google.zxing:core:3.2.1'
3:将drawble包下的qr_code_bg.9.png,scan_line.png,shadow.png 文件复制到工程相应目录下。(文章末尾点击地址1)
4:将raw包复制到res目录下
5:在你的color.xml文件中粘贴如下代码:
<!--scan code --> <color name="viewfinder_frame">#ff000000</color> <color name="viewfinder_laser">#ffff0000</color> <color name="viewfinder_mask">#60000000</color> <color name="result_view">#b0000000</color> <color name="possible_result_points">#00000000</color> <!-- zxing --> <item type="id" name="auto_focus"/> <item type="id" name="decode"/> <item type="id" name="decode_failed"/> <item type="id" name="decode_succeeded"/> <item type="id" name="encode_failed"/> <item type="id" name="encode_succeeded"/> <item type="id" name="launch_product_query"/> <item type="id" name="quit"/> <item type="id" name="restart_preview"/> <item type="id" name="return_scan_result"/> <item type="id" name="search_book_contents_failed"/> <item type="id" name="search_book_contents_succeeded"/>
6:在strings.xml文件中粘贴如下代码:
<!--qrcode--> <string name="str_scan_title">扫一扫</string> <string name="str_open_light">开启闪光灯</string> <string name="str_close_light">关闭闪光灯</string> <string name="str_scan_hint">取景框对准二维码, 即可自动扫描</string>
7:将zxing包copy到你的代码目录下,如下图所示:
然后将里面的导入包改一下,切记导入Zxing包下的类!
至此集成就完毕了。看下Activity中是怎么使用的:
8:将layout包下的xml文件复制到工程项目中
如果点击扫描二维码:
//点击扫描二维码Intent intent = new Intent(this, CaptureActivity.class);startActivityForResult(intent,1);
如果是点击生成二维码:
//点击生成带Logo二维码Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);imageview.setImageBitmap(QRCodeUtil.addCreateLogoQR(getApplicationContext(), "你好", bitmap,getWindowManager()));//如果是生成不带Logo的二维码,可以将addCreateLogoQR方法改为:addCreateQR
扫面返回的结果都在onActivityResult 方法中返回,
@RequiresApi(api = Build.VERSION_CODES.KITKAT) @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode == RESULT_OK ){ switch (requestCode){ case 1:{// 二维码扫描结果 Bundle bundle = data.getExtras();; String resultStr = bundle.getString("result"); textView.setText(resultStr); break; } } } if (resultCode == 999) {//相册解析二维码返回的信息 /** * 拿到解析完成的字符串 */ String result = data.getStringExtra(CaptureActivity.scannerResultString); textView.setText(result); } }
附上效果图:
上述文章所需的zxing包地址1:http://download.csdn.net/detail/lmq121210/9916640
然后附上一整个源码demo地址2:http://download.csdn.net/detail/lmq121210/9916564
阅读全文
0 0
- android 集成Zxing教程
- android sdudio 集成zxing
- android studio集成zxing
- Android快速集成Zxing扫码库
- android 最快集成zXing二维码
- zxing集成
- Android studio集成Zxing实现扫一扫
- 在Android Studio中集成Zxing
- Android 扫一扫功能实现 (集成ZXing)
- android的ZXing二维码扫描集成
- Android 扫一扫功能实现 (集成ZXing)
- 在Android Studio中集成Zxing
- Android 集成Keymob教程
- Android项目如何集成ZXing二维码扫描功能
- Android 应用集成 Zxing 扫描QRCode -- 调用外部库模式
- Android二维码扫描之ZXing快速项目集成
- Android之Zxing扫描二维码 简单式集成
- Android集成zxing库后的一些坑
- Surround360 Render目录下RENDER文档——中文翻译
- 自省
- 快速排序和随机快速排序
- HDU1092-A+B for Input-Output Practice (IV)
- mybatis配置文件--未和spring整合前,jdbc
- android 集成Zxing教程
- Hmaster 启动后关闭。
- 语音识别的基础知识与CMUsphinx介绍
- 配置环境变量
- Win10局域网内离线安装sqlserver2012 .net framkwork 3.5问题
- 剑指offer题64
- Spring自动代理
- Catalan number (卡兰特数)
- C++正则表达式匹配工具