【问题标题】:How to use Zxing in android [duplicate]如何在android中使用Zxing [重复]
【发布时间】:2012-01-03 06:29:26
【问题描述】:

我是 Zxing 的新手。我正在我的 android 应用程序中使用 zxing 进行条形码转换。谁能指导我如何将 zxing 包含到 android 设备中。

【问题讨论】:

    标签: android zxing


    【解决方案1】:

    如果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);
    

    所以它会将应用重定向到android market,如果安装了barcode scanner,你的应用会继续运行一次。

    如果你不想在你的应用程序中使用其他应用程序,你必须下载 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 文件。
    • core.jar 文件需要自己生成。
    • 因为它不便携
    • 你必须使用apache ant来生成core.jar
    • 但是使用起来相当困难
    【解决方案2】:

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

    【讨论】:

    • 投反对票的原因是什么?
    • Zxing 集成不能那样工作..
    • @Siddharth - 是的,确实如此。它是开源的,这是一种常见的实现选择。
    【解决方案3】:

    在eclipse中逐步设置zxing 3.2.1

    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”将“Project build target”改为android 4.4.2+,因为使用1.7需要用Android 4.4编译
    6. 如果“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/”复制并粘贴到您的项目中。
    7. 清理并构建项目。如果您的项目显示有关“switch - case”的错误,则应将其更改为“if - else”。
    8. 已完成。清理并构建项目

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2016-03-27
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多