有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java让ZXing工作

我遵循每一条指示,维基,入门,指南,帮助, 等,我可以找到关于中兴项目。 经过多次调试,我终于设法使用ant进行编译 果心jar,javame。贾尔,还有贾维斯。罐子 我想将ZXing集成到我的代码中,也就是说,我希望扫描 \读取条形码并处理其数据

我已经将上面提到的每个文件作为外部jar导入。然后 我转向https://code.google.com/p/zxing/wiki/DeveloperNotes使用 多格式踏板()。 无法解析BuffereImage类。我知道什么就试什么 我甚至尝试了安卓的位图作为解决方法,但没有效果 我也是

我知道我可以使用意图读取\扫描条形码,但我希望 自己处理,不要安装“第三方”应用程序

谁能帮我理解我该怎么做? 只需几行代码即可

同样,我只想扫描\读取条形码并分析其数据


共 (4) 个答案

  1. # 1 楼答案

    杰克逊我也建议你采用inazaruk建议的方式。但是如果您在集成这部分代码(zxing-android)时仍然遇到问题

    • 只需下载zxing-core
    • 将这个核心项目导入eclipse
    • 在应用程序的Eclipse构建路径中,添加zxing核心项目的引用,这样它就不是由JVM编译的,而是由Dalvik编译的(只需避免使用jar文件,因为它是用JVM编译的),只需使用https://code.google.com/p/zxing/wiki/DeveloperNotes中建议的所有类即可

    编辑: 正如肖恩·欧文所说,安卓没有BuffereImage类。您需要导入这些类&;满足他们的依赖

    • com。谷歌。中兴。二进制位图
    • com。谷歌。中兴。光源
    • com。谷歌。中兴。多格式踏板
    • com。谷歌。中兴。读者
    • com。谷歌。中兴。结果
    • com。谷歌。中兴。常见的杂交二值化器

    那么你可以这样使用它

     Bitmap bMap = BitmapFactory.decodeStream(new FileInputStream(file));
     LuminanceSource source = new RGBLuminanceSource(bMap);
     BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(
                                  source));
     Reader reader = new MultiFormatReader();
    
     Result result = reader.decode(bitmap);
    
  2. # 2 楼答案

    最简单的答案是,你不应该在Android应用程序中使用javase.jar。它是针对JavaSE的代码。并非所有JavaSE类都在Android中。尤其是Android没有像BufferedImage这样的AWT类

    您只想在项目中包含core.jar。然后用它编写你的Android应用程序

  3. # 3 楼答案

    以下是我为我的实验应用程序所做的:

    • 下载Android版本的ZXing条形码扫描仪(here
    • 将此项目转换为Android Library
    • 删除了所有我不需要的功能
    • 按照我想要的方式修改了CaptureActivity,因此它与我的应用程序更好地集成

    我发现这种方法更简单,因为Android在不同设备上的统一摄像头支持方面存在一些问题,而ZXing的人已经解决了这个问题

  4. # 4 楼答案

    嗨,伙计们,实际上我也陷入了这个问题。但最终我成功地运行了这个项目。当我们下载zxing项目并简单地导入它时,会出现一些错误,因为许多文件丢失了

    实际上,这些文件分布在整个项目中。所以,如果你在Zxing master中搜索这些文件,你会很容易找到。复制这些文件,并简单地复制到您的项目中,就像在我的工作区中一样,这就是“CaptureActivity”。可能还有一个问题是由于Java编译器导致的编译错误(该项目至少需要Java 1.7和Android OS 4.4)

    不管我在做这个项目时知道什么,我都会解释。任何疑问都会留下评论