在Android中如何使用Zxing

15

我是Zxing的新手。我正在使用zxing在我的Android应用程序中进行条形码转换。有没有人可以指导我如何将zxing加入到Android设备中。

有没有人可以告诉我如何将zxing库添加到我的Android应用程序中,以便我可以在我的应用程序中使用它来扫描和解码条形码。

3个回答

40

如果在手机中安装了zxing条形码扫描器,那么非常容易:

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
       intent.putExtra("SCAN_MODE", "PRODUCT_MODE");//for Qr code, its "QR_CODE_MODE" instead of "PRODUCT_MODE"
       intent.putExtra("SAVE_HISTORY", false);//this stops saving ur barcode in barcode scanner app's history
       startActivityForResult(intent, 0);

OnActivityResult 中:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 0) {
            if (resultCode == RESULT_OK) {
                    String contents = data.getStringExtra("SCAN_RESULT"); //this is the result
            } else 
            if (resultCode == RESULT_CANCELED) {
              // Handle cancel
            }
        }
    }

如果未安装:你可以把这段代码放在try-catch块中并捕获异常,做法如下:

Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android");
Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri);
startActivity(marketIntent);
所以,它会将应用程序重定向到安卓市场,一旦安装了条形码扫描器,您的应用程序就可以继续运行。

如果您不想在应用程序中使用其他应用程序,则必须下载zxing库并尝试使用core.jar文件中的类(它是使用apache ant创建的)。按照本教程进行操作:https://github.com/zxing/zxing/wiki/Getting-Started-Developing

所有Intent选项都可以在这里找到:

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java


谢谢,这更加详细了。我从谷歌下载了代码。每当我编译构建脚本时,都会出现错误。我们可以从网络上下载core.jar吗?或者你有core.jar文件吗? - RAAAAM
核心.jar文件应该由您自己生成。 - Seshu Vinay
由于它不可移植,返回已翻译的文本。 - Seshu Vinay
似乎它不再起作用了...我一直在使用它,但现在出现了错误:"找不到处理意图的活动[...]" - ivy
链接在这里:https://github.com/zxing/zxing/blob/master/android/src/com/google/zxing/client/android/Intents.java - phuwin
显示剩余14条评论

7

您需要下载Zing的 .Jar 文件并将其添加到应用程序文件夹中。然后,您就可以调用它的类和方法。


2
下投票的原因是什么? - Lucifer
Zxing的集成不是那样工作的。 - Siddharth
2
@Siddharth - 是的,它是开源的,这是一个常见的实现选择。 - Mike Repass

2

逐步设置zxing 3.2.1在eclipse中

  1. 从"https://github.com/zxing/zxing"下载zxing-master.zip
  2. 解压zxing-master.zip,使用eclipse导入zxing-master中的"android"项目
  3. 从"http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/"下载core-3.2.1.jar
  4. 在"android"项目中创建"libs"文件夹,并将cor-3.2.1.jar粘贴到libs文件夹中
  5. 单击项目:选择“属性” -> “Java编译器”将级别更改为1.7。然后单击“Android”将“项目构建目标”更改为Android 4.4.2+,因为使用1.7需要与Android 4.4一起编译
  6. 如果“CameraConfigurationUtils.java”不存在于“zxing-master/android/app/src/main/java/com/google/zxing/client/android/camera/”中。您可以将其从“zxing-master/android-core/src/main/java/com/google/zxing/client/android/camera/”复制并粘贴到您的项目中。
  7. 清理和构建项目。如果您的项目显示关于“switch-case”的错误,则应将它们更改为“if-else”。
  8. 完成。清理和构建项目

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接