如何创建条形码扫描仪(安卓)?

2022-09-02 23:19:43

有人可以告诉我创建条形码扫描仪应用程序(适用于Android)是否困难吗?OpenCV库是一个好的开始吗?在哪里可以找到清楚地解释如何读取条形码的算法?我会感谢所有关于这个主题的好材料!

提前致谢!


答案 1

ZXing项目提供了一个独立的条形码阅读器应用程序, 通过Android的意图机制 , 可以由其他希望集成条形码扫描的应用程序调用。

执行此操作的最简单方法是从应用程序中调用 ZXing 扫描意图,如下所示:

public Button.OnClickListener mScan = new Button.OnClickListener() {
    public void onClick(View v) {
        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
        startActivityForResult(intent, 0);
    }
};

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            String contents = intent.getStringExtra("SCAN_RESULT");
            String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
            // Handle successful scan
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel
        }
    }
}

按下链接到 mScan 的按钮将直接启动到 ZXing 条形码扫描仪屏幕(如果未安装 ZXing,则崩溃)。识别条形码后,您将在“活动”(contents 变量中)收到结果。

为了避免崩溃并为您简化事情,ZXing提供了一个实用程序类,您可以将该类集成到应用程序中,以使ZXing的安装更加顺畅,方法是将用户重定向到Android Market(如果他们尚未安装)。

最后,如果您想将条形码扫描直接集成到您的应用程序中,而不依赖于安装单独的ZXing应用程序,那么它是一个开源项目,您可以这样做!:)


答案 2

您可以使用适用于 Android 的现有 Zebra Crossing 条码扫描器,该扫描器可在以下位置获得:http://code.google.com/p/zxing/。通常,我们的想法是,您将通过意向调用它,例如此处的示例:http://code.google.com/p/zxing/wiki/ScanningViaIntent


推荐