二维码开源项目ZXing在android studio项目中的应用以及portrait竖屏模式的更改
2015-09-02 15:51
543 查看
开发环境:Android Studio 1.4 Beta2
ZXing 3.2.1
SDK API22
core与android core是项目的核心目录以及android开发需要的核心,基本上需要二次开发的话需要引用这两个目录;
android 目录:是一个叫做“条码扫描器”(Barcode Scanner)的程序,是官方利用core与android core实现的一个扫码程序;
android-integration:提供了一种简单的让你在你的app中调用Barcode Scanner(简称BS)的实现,用它的话有一个弊端,需要在手机上同时安装你的app和BS,扫码是你的app会调用BS这个app;
androidtest:就是一个利用android-integration调用BS的例子。
与android开发相关的基本上就这5个目录,在实际开发中,考虑到integration的弊端,我们舍弃这种方式,而是将ZXing整合到我们的项目中去,而考虑到引入core与android core来进行二次开发的周期比较长,决定直接在项目用引用Barcode Scanner。
然后继续在Modules设置中将主Module的Dependencies中加入ZXing,加入完毕。运行后出现错误:
Error:(84, 33) java: -source 1.6 中不支持 diamond 运算符
(请使用 -source 7 或更高版本以启用 diamond 运算符)
修改ZXing下build.gradle中javaversion版本,将1.6改为1.7:
同时将ZXing的language level 改为7:
完成后项目运行无错误。
最后,在相应按钮的监听中添加跳转处理,即可开启二维码扫描功能:
ZXing 3.2.1
SDK API22
一、简介
ZXing是一个著名的二维码开源项目,最近项目需要添加扫一扫功能,网上找实现方法后决定用ZXing,项目主页:https://github.com/zxing/zxing。同步下来后,有几个比较重要的目录:core与android core是项目的核心目录以及android开发需要的核心,基本上需要二次开发的话需要引用这两个目录;
android 目录:是一个叫做“条码扫描器”(Barcode Scanner)的程序,是官方利用core与android core实现的一个扫码程序;
android-integration:提供了一种简单的让你在你的app中调用Barcode Scanner(简称BS)的实现,用它的话有一个弊端,需要在手机上同时安装你的app和BS,扫码是你的app会调用BS这个app;
androidtest:就是一个利用android-integration调用BS的例子。
与android开发相关的基本上就这5个目录,在实际开发中,考虑到integration的弊端,我们舍弃这种方式,而是将ZXing整合到我们的项目中去,而考虑到引入core与android core来进行二次开发的周期比较长,决定直接在项目用引用Barcode Scanner。
二、作为引用导入BS
在Android Studio中打开我们的项目A,将android文件夹拷贝到项目A目录下,重命名为ZXing,依次点击File->Project Structure->Project Setting->Modules ,点击+添加module,选择Import Module,选中目录下的ZXing文件夹,点击添加:然后继续在Modules设置中将主Module的Dependencies中加入ZXing,加入完毕。运行后出现错误:
Error:(84, 33) java: -source 1.6 中不支持 diamond 运算符
(请使用 -source 7 或更高版本以启用 diamond 运算符)
修改ZXing下build.gradle中javaversion版本,将1.6改为1.7:
compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 }
同时将ZXing的language level 改为7:
完成后项目运行无错误。
最后,在相应按钮的监听中添加跳转处理,即可开启二维码扫描功能:
Intent intent = new Intent(AppMainFrame.this, CaptureActivity.class); startActivity(intent); 注意删除掉ZXing下Manifest中的
<intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter>
相关文章推荐
- Android 银行卡扫描(信用卡),IOS 银行卡扫描(信用卡)
- Android中SQLite用法
- Android中自定义属性的使用
- Android编程规范不完全指南
- Android Canvas绘图详解
- Android 4.4 Camera调试注意事项
- Android生命周期
- Android NDK开发学习(二)
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- Android studio Error:(30, 31) 错误: 程序包 不存在
- Android学习参考2
- android 学习中的一些问题记录 主要是概念问题
- Android使用SVG矢量动画(二)
- Android使用SVG矢量动画(二)
- AndroidStudio使用——如何导入jar包
- android中判断service是否运行
- Android 4.4.4 在线播放mp3文件存在的问题
- Android APK反编译就这么简单 详解(附图)
- android LinearLayout设置selector不起作用解决
- Android-本地方法与Java相互调用-自定义ProgressBar(锅炉压力监测例子)/NDK-JNI开发实例(七)