【问题标题】:how to simulate barcode scanner for my java application?如何为我的 java 应用程序模拟条码扫描器?
【发布时间】:2012-12-19 11:02:35
【问题描述】:

我创建了一个 Java 应用程序并想在我的 Java 应用程序中使用条形码扫描仪。
但没有设备条形码扫描仪
如何模拟条码扫描器来测试我的 Java 应用程序?

【问题讨论】:

    标签: java barcode


    【解决方案1】:

    这实际上取决于您希望扫描仪以后如何连接到系统。

    有些扫描仪只使用键盘模拟。在这种情况下,您无需执行任何操作(只需确保在需要输入条形码时正确的输入框处于活动状态)。

    其他扫描仪通过串行端口仿真连接到系统(例如,有用于 Symbol/Motorola 和 Datalogic 枪扫描仪的 USB 转串行驱动程序)。在这种情况下,您可以在 Java 中打开串行端口并将扫描仪输入作为串行数据。要模拟这一点,您必须使用交叉 RS232 电缆将您的 PC 连接到另一台 PC,然后可以使用 Hyperterminal/Putty/[Linux 或其他操作系统上的任何内容] 通过串行电缆将数据发送到您的 PC .

    【讨论】:

    • 我在 Java WebApp 中使用过 Datalogic Sc​​anners,我强烈推荐键盘仿真,希望您在将应用程序部署到客户端之前收到物理设备 :)
    • 我们一直在桌面应用程序中使用最流行的扫描仪品牌(然而.NET),我强烈建议反对使用键盘仿真,因为你有无法控制条码的去向。如果您使用 COM 连接的扫描仪,您可以决定(根据条码内容)您将获得什么以及如何处理它。
    • 我完全同意使用真实设备进行测试是必须
    • 为了获取条形码,我使用了一个带有不可见、自动对焦的小文本框的单独窗口来接收数据......输入不可能转到其他地方。但我同意在非专用页面或桌面应用程序中,“在正确的位置”拦截它可能更难。
    • 还应该记住,有不同的条形码格式。除了在条形码中编码数字之外,还可以对其他信息(如“这是一个存储箱代码”或“它是一个项目”或“它是我的程序的控制代码”)进行编码。然后,应用程序可以根据信息的类型采取行动。使用键盘仿真时,您将失去此“功能”。键盘仿真是否是一个好的解决方案在很大程度上取决于用例的复杂性。
    【解决方案2】:

    如果您从控制台运行应用程序,

    Scanner scan = new Scanner(System.in);
    String barcode = scan.nextLine();
    

    否则只需将您的条形码传递给main 方法参数。

    【讨论】:

    • 为什么投反对票?这实际上是一个很好的答案。从 java 程序的 POV 来看,条码扫描器只是一个键盘(标准输入)。
    • 我实际上对您的回答投了反对票,因为它根本没有给出任何解释。从那时起,我一直试图收回我的反对票,但我不断收到一条消息,说我的答案被锁定,直到帖子被编辑。
    【解决方案3】:

    我也有类似的需求,在 GitHub 上找到了barcode-simulator 项目。它涵盖了 cmets 中提出的部分问题,至少在初始测试中是这样。

    不过,没有什么能比得上真正的交易。预计真实用户和真实扫描仪的组合会在您的应用程序中发现意想不到的漏洞。

    向您的客户提供非常明确的意见:

    • 当用户光标在正确的字段中时,它会改变颜色并 显示“等待扫描”之类的消息,
    • 清晰快速地显示扫描是否有效,
    • 让重新扫描变得轻而易举。

    如果您的用户清楚成功之路是什么样的,那么它应该是好的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-29
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多