我只是在绝望中写这篇文章:)我被指派为Android 1.6手机制作一个独立的条形码扫描仪(作为概念证明) .
为此,我发现了ZXing库 .
我用谷歌搜索,在StackOverflow上阅读相关主题,使用常见的等等 . 似乎没有任何帮助,我只是不能在这个精神封锁上打个洞:/
我知道可以使用lib,并创建自己的独立条形码扫描仪 . 我读过使用Zxing人提供的“条码扫描器”,这是迄今为止最简单的解决方案(通过Intent) . 不幸的是,这不是一个选项,需要一个独立的应用程序 .
总结一下我的问题:
-
如何通过Eclipse将ZXing源库集成到我的Android代码项目中?
-
当集成时...如何利用lib,来扫描功能"load"?
-
步骤指南几乎是首选,因为我刚开始在Eclipse中工作 .
我试图让我的代码项目依赖于ZXing源文件夹中的Android文件夹 . 当我这样做时,会出现一些错误,主要涉及'org.apache'(??)
我只是想不出来......所以一些提示将是最有帮助的 .
提前谢谢:)
15 回答
放
进入Gradle依赖项 . 就这么简单 . 在使用Android Studio和Gradle构建系统之前 .
如果您只需要zxing的core.jar,则可以跳过该过程并从GettingStarted wiki page获取预构建的JAR
最新的ZXing(2.2)在core文件夹下没有core.jar但是你可以从zxing获得core.jar Maven repository here
更新! - 已解决的指南
我已经设法弄明白:)在下面你可以阅读逐步指南,所以它希望可以帮助其他人遇到与我相同的问题;)
安装Apache Ant - (See this YouTube video for config help)
从ZXing主页下载ZXing源并解压缩
使用Windows命令行(Run-> CMD)导航到下载的
zxing src
的根目录 .在命令行窗口中 - 输入
ant -f core/build.xml
按回车键让Apache运行它的魔力[having issues?]根据您刚提取的目录中的android文件夹输入Eclipse - > new Android Project
右键单击项目文件夹 - >属性 - > Java构建路径 - >库 - >添加外部JAR ...
导航到新解压缩的文件夹并打开核心目录并选择
core.jar
...点击回车!现在您只需更正翻译和AndroidManifest.xml文件中的一些错误:)现在您可以愉快地编译,现在您将拥有一个基于ZXing源的独立条码扫描器应用程序;)
快乐的编码人 - 我希望它可以帮助别人:)
以下是如何使用ZXing库生成和显示QR代码的分步指南,无需安装第三方应用程序 . Note: 您不必使用ANT或任何其他构建工具构建ZXing . 文件
core.jar
在已发布的zip存档中可用(如下所示) .下载latest release of ZXing . - (
ZXing-*.zip
)解压缩此zip存档并在
core/
目录下找到core.jar
.如果您使用的是Eclipse IDE,请将
core.jar
拖放到Android项目的libs
目录中 . 询问时,选择复制 .将下面给出的两个类(
Contents.java
和QRCodeEncoder.java
)复制到Android项目的主程序包中 .在您的活动中创建一个
ImageView
项目,如果您还没有生成的二维码,则显示生成的二维码 . 下面给出一个例子:使用下面的代码片段以位图格式生成QR码并将其显示在
ImageView
中 .这是要添加到Activity布局XML文件的
ImageView
元素:代码段:
这是
Contents.java
和
QRCodeEncoder.java
该
不幸的是没有为我工作 .
这对我有用:
请在此处找到链接:https://github.com/journeyapps/zxing-android-embedded
使用ANT构建问题?继续阅读
如果
ant -f core/build.xml
说的话:然后将
JAVA_HOME
环境变量设置为正确的java文件夹 . 我在我的(Windows)中找到了tools.jar:所以我将
JAVA_HOME
设置为:我在某个网站上发现的语法较短的原因是:
然后我重新启动cmd(重要的是因为DOS shell仅在启动时读取env变量,因此更改env var将要求您使用新的shell来获取更新的值)
最后
ant -f core/build.xml
工作了 .由于一些答案已经过时,我想提供我自己的答案 -
要按照their Wiki的建议将ZXing库集成到您的Android应用程序中,您需要在项目中添加2个Java文件:
IntentIntegrator.java
IntentResult.java
然后在 Android Studio 中将以下行添加到build.gradle文件中:
或者,如果仍然使用 Eclipse with ADT-plugin 将core.jar文件添加到项目的libs子目录中(此处为fullscreen Windows和fullscreen Mac):
最后将此代码添加到MainActivity.java:
生成的应用程序将要求安装并启动Barcode Scanner app by ZXing(扫描后将自动返回到您的应用程序):
此外,如果您想构建并运行ZXing Test app作为您自己的应用程序的灵感:
然后你需要来自GitHub的4个Java文件:
BenchmarkActivity.java
BenchmarkAsyncTask.java
BenchmarkItem.java
ZXingTestActivity.java
来自Maven repository的3个Jar文件:
core.jar
android-core.jar
android-integration.jar
(您可以使用
mvn package
自行构建Jar文件 - 如果您从GitHub查看ZXing并在您的计算机上安装ant和maven工具) .注意:如果您的项目无法识别Jar文件,则可能需要在项目属性中启动Java版本:
你在zxing网站上看过wiki pages吗?看来你可能会发现GettingStarted,DeveloperNotes和ScanningViaIntent很有帮助 .
Step by step to setup zxing 3.2.1 in eclipse
从“https://github.com/zxing/zxing”下载zxing-master.zip
解压缩zxing-master.zip,使用eclipse导入zxing-master中的"android"项目
从“http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/”下载core-3.2.1.jar
在"android"项目中创建"libs"文件夹并将cor-3.2.1.jar粘贴到libs文件夹中
单击项目:选择"properties" - > "Java Compiler"将级别更改为1.7 . 然后单击"Android"将"Project build target"更改为android 4.4.2,因为使用1.7需要使用Android 4.4进行编译
如果"zxing-master/android/app/src/main/java/com/google/zxing/client/android/camera/"中不存在"CameraConfigurationUtils.java" . 您可以从"zxing-master/android-core/src/main/java/com/google/zxing/client/android/camera/"复制它并粘贴到您的项目中 .
清理并构建项目 . 如果您的项目显示有关"switch - case"的错误,则应将其更改为"if - else" .
完成 . 清理并构建项目 .
参考链接:Using ZXing to create an android barcode scanning app
我尝试了所有可能的方法来实现这一点,然后我发现了JourneyApps的缩小版xZing . 我已将其移植到eclipse并在GitHub上共享 .
If you are using eclipse use this project:-
https://github.com/hiteshsahu/XZing-Barcode-Scanner-Minified-Eclipse
If you are using Studio use this project :-
https://github.com/journeyapps/zxing-android-embedded
Advantages
应用程序中的内置条形码扫描程序不需要使用Playstore安装第三方应用程序 .
你不需要在Core,Android客户端等之间混淆jars只需在你的项目中删除这个包和相关的布局,你就可以了 . 只需要Jar就可以从 com.google.zxing:core:3.2.0 下载
http://mvnrepository.com/artifact/com.google.zxing/core/3.2.0
之前: -
之后: -
最重要的部分是 highly customizable 即 . 您可以添加闪光灯,在片段中使用它并支持方向更改 .
您可以在 Cordova App 中使用此Capture活动进行条形码扫描 .
您在应用清单中的捕获活动看起来像这样
和插件将看起来像这样
快乐融合!!
zxing的家伙用1.7创建一个Android项目更容易 . 它不像过去那样痛苦 . 对于想要快速为android创建zxing项目的人来说,这是一个快速博客 .
从zxing.org查看zxing来源
在日食上创建一个Android项目
删除main.xml
右键单击“src”目录并点击导入 . 按提及的顺序浏览到以下目录 . 当您逐个添加它们以进行导入时,请确保在导入向导的编辑字段中具有src目录 . 并且您只选择左目录树中的“com”目录 . 不要选择src .
核心
android-integration
android
确保你的android sdk版本是9,任何小的和androidmanifest.xml都会哭 .
其中一种语言的Strings.xml会被放置,只需在'字符前面放一个/
zxing 1.7(6月20日结账)的android项目 .
http://www.4shared.com/file/bFx8Y5Ys/zXingJune2010.html( NOT AVAILABLE ANYMORE )
当google play服务(自版本7.8.0)包含条形码解码器时,为什么要使用外部lib .
我刚写了一个方法,它解码生成的条码,
Bitmap
到String
.它完全符合要求,只是没有
CaptureActivity
......因此,可以跳过
build.gradle
中的android-integration
库:方法如下(实际上在jUnit测试中解码生成的条形码):
更简单的方法 .
只需在应用程序级别gradle文件中包含依赖项即可
在xml文件中定义一个按钮,然后在OnCreate()和按钮的OnClick监听器内的Java文件中写下代码
并在Java文件的OnCreate()之后写下面的代码
我最近在ios和android中使用了谷歌移动视觉 . 我强烈建议您使用谷歌条码扫描 . 它对任何方向都非常敏感,处理时间非常快 . 它被称为谷歌移动视觉 .
https://developers.google.com/vision/
https://codelabs.developers.google.com/codelabs/bar-codes/#0