2012-01-12 69 views
1

我必須爲我的應用程序實施條形碼掃描儀。我想用zxing來做我的工作。如何實施黑莓條碼掃描器?

我不能簡單地創建一個UIApplication的,導致我的應用程序也是沒有黑莓設備(但條形碼閱讀器僅用於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庫並使用HibridBinarizer

+0

您是否看到版本6.0提供的BarcodeDemo ...? – alishaik786 2012-01-13 04:20:56

回答

-1

即使我對黑莓手機的開發並不熟悉,我有一個想法可以更加接近解決方案。

Java中可以拋出的所有東西都必須來自java.lang.Throwable。因此,即使你的ReaderException你應該有一個方法稱爲getMessage()

也許你現在可以嘗試捕獲異常並在UI上打印消息?也許你正在使用的庫提供更多的信息.​​.....如果你有一些像eclipse 這樣的IDE,可以將調試器附加到在你的黑莓上運行的應用程序,事情變得更容易。

+0

getMessage()返回null。 – 2012-01-13 09:49:36

0

ReaderException是正常的,只是意味着特定圖像無法解碼。你的代碼可能會也可能不會。如果沒有圖像工作,那麼你的代碼可能有問題。

您應該真的使用最近的版本,而不是BB SDK中的版本。