【问题标题】:Barcode Scanning library for Blackberry other than ZxingZxing 以外的黑莓条码扫描库
【发布时间】:2012-06-14 17:04:48
【问题描述】:

我正在寻找一个图书馆,无论是付费的还是开源的,用于黑莓的条形码扫描。 我找到了一个。即zxing。如果您知道,请推荐其他一些库。

我想要一个可以读取/扫描条形码类型 Code 25 的库。 请帮帮我。

谢谢

【问题讨论】:

标签: blackberry barcode-scanner


【解决方案1】:

只是指出 Code 25(AKA 2 of 5,及其交错变体)由 Android 的条形码扫描仪解码,而后者又使用 ZXing。 (尽管ZXing项目页面官方并未将其列为支持)。

您可以下载最新版本的 ZXing 并使用不同的包名重新打包 BB 的核心,以免它们与内置的 ZXing 库(旧版本)发生冲突,然后进行测试。

【讨论】:

  • 哦,谢谢...我一定会尝试的。可能会有所帮助,但如果我不想使用 zxing 库并使用其他库怎么办?哪些是BB可用的
【解决方案2】:
Import the required classes.
import java.util.*;

import net.rim.device.api.barcodelib.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.container.*;

import com.google.zxing.*;
Create a class to run the application by extending UiApplication.
public final class BarcodeScanDemo extends UiApplication
{ 
Create a constructor for the class, and display a BarcodeScanDemoScreen object.
    public BarcodeScanDemo()
{
    pushScreen(new BarcodeScanDemoScreen());
}
Create the main method that starts the application.
    public static void main(String[] args)
    {
        new BarcodeScanDemo().enterEventDispatcher();
    }
}
Define a screen for your class that extends the MainScreen class.
final class BarcodeScanDemoScreen extends MainScreen
{
Create a constructor for the screen.
    public BarcodeScanDemoScreen() 
    { 
Create a BarcodeDecoderListener object to handle the data that is received when a barcode is scanned. In it, implement barcodeDecoded() to process the raw data that is sent by the decoder.
        BarcodeDecoderListener listener = new BarcodeDecoderListener()
        {
            public void barcodeDecoded( String rawText )
            {
                // Do something with the raw text
            }
        };
Create a Hashtable to store decoding hints in.
        Hashtable hints = new Hashtable();
Create a new Vector object to store barcode formats in.
        Vector formats = new Vector();
Add the BarcodeFormat.QR_CODE constant to the Vector object using Vector.addElement(Object obj). You can add more than one constant (hint) to a Vector object.
        formats.addElement(BarcodeFormat.QR_CODE);
Invoke Hashtable.put(Object key, Object value), and add the Vector object to the hash table. The DecodeHintType.POSSIBLE_FORMATS constant is used to specify that the hints contained in the Vector object are barcode formats. Other constants for decoding hints can be found in the com.google.zxing.DecodeHintType class.
        hints.put(DecodeHintType.POSSIBLE_FORMATS, formats);
Construct a BarcodeDecoder object to decode data received from the camera's viewfinder into usable raw data. Pass the Hashtable object into it.
        BarcodeDecoder decoder = new BarcodeDecoder( hints ); 
Create a try block, and construct a MainScreen object to contain the camera viewfinder.
        try
        {
            MainScreen screen = new MainScreen();
Construct a BarcodeScanner object, and pass the BarcodeDecoder and BarcodeListener objects into it. Invoke BarcodeScanner.getVideoControl() to return a VideoControl object. Invoke VideoControl.setDisplayFullScreen(true) to set the video's display to full screen.
            BarcodeScanner scanner = new BarcodeScanner( decoder,
                                         listener );
            scanner.getVideoControl().setDisplayFullScreen( true );
Invoke Screen.add(Field field) to add the barcode scanner's view finder to the screen, then invoke UiApplication.pushScreen(Screen screen) to display the viewfinder.
            screen.add( scanner.getViewFinder() );
            UiApplication.getUiApplication().pushScreen( screen );
Start the barcode scanner by invoking BarcodeScanner.startScan(). Close the try block.
            scanner.startScan();
        }
Open a catch block to catch any errors that may occur.
        catch (Exception e)
        {
            // Catch errors here
        }
    }
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 2016-01-09
  • 2016-08-21
  • 2012-05-21
相关资源
最近更新 更多