我必须为我的应用程序实现条形码扫描程序。我想用zxing来做我的工作。
我不能简单地创建一个UIApplication,因为我的应用程序也适用于没有Blackberry设备(但条形码阅读器仅适用于BB)
我已经阅读了很多例子,但我认为我需要特别的帮助:
我已经为BB9700实现了一个midlet:当用户按下按钮时,
1)调用相机应用程序(我的midlet进入后台模式)
2)用户将照片拍摄到数据矩阵图像
3)当用户返回时,我的应用程序处于活动状态并尝试检测条形码结果。
主类实现FileSystemJournalListener,因此当添加文件时,此类以这种方式处理它:
EncodedImage encodedImage = EncodedImage.createEncodedImage(imageData, 0, imageData.length);
Bitmap bmp = encodedImage.getBitmap();
DataMatrixReader reader = new DataMatrixReader();
LuminanceSource source = new BitmapLuminanceSource(bmp);
BinaryBitmap bitmap = new BinaryBitmap(new GlobalHistogramBinarizer(source));
result = reader.decode(bitmap);
每次尝试解码图像时,都会抛出ReaderException。
我使用相机拍摄的照片非常完美,并且图像也得到了正确处理(我可以在屏幕上打印进行测试,图片也可以。)
为什么我无法得到正确的结果?我正确使用zxing
lib?
我也看过HybridGinarizer
,但遗憾的是zxing
我正在使用的版本有点老了。
我是否只需更新zxing
lib并使用HibridBinarizer
?
答案 0 :(得分:0)
ReaderException
是正常的,只是意味着无法解码特定图像。您的代码可能也可能不正常。如果没有图像可以工作,那么你的代码可能会出现问题。
您应该使用最新的版本,而不是BB SDK中的版本。
答案 1 :(得分:-1)
即使我不熟悉Blackberry的开发,我也有一个想法,可以更接近解决方案。
Java中可以引发的所有内容都必须来自java.lang.Throwable。因此,即使您获得的ReaderException
也应该有一个名为getMessage()
的方法。
也许您现在可以尝试捕获异常并在UI上打印消息?也许您正在使用的库提供了更多信息......如果您有一些像eclipse 和这样的IDE可以将调试器连接到BlackBerry上运行的应用程序,事情会变得更容易。