简介
    
    
          最近的Widget项目用到需要用摄像头来处理条形码,章师兄推荐了ZXing这个开源的项目,于是做一简单的调研。 
    
    ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码。 其提供了多种平台下的客户端包括:J2ME、J2SE和Android。 
    
    当前,ZXing主要支持以下条形码: 
    
    •UPC-A and UPC-E 
    
    •EAN-8 and EAN-13 
    
    •Code 39 
    
    •Code 128 
    
    •QR Code 
    
    •Data Matrix ('alpha' quality) 
    
    •ITF 
    
           首先,在
    
      
        http://code.google.com/p/zxing/
      
    
    上下载到ZXing的应用程序包,解压下载到的程序包后,我们可以看到整个应用程序分为一些组件。如下: 
    
    1.core: 核心包,是整个应用的主要组件组成部分。 
    
    2.javame: 为JavaME来定制的客户端工具。 
    
    3.javase: 为PC端定制的客户端工具。 
    
    4.android: 为Android端定制的客户端工具。 
    
    5.androidtest: Android测试应用程序,里面有在其它程序中使用此应用的示例。 
    
    
      基本测试 
      
    
         ZXing程序的运行需要我们使用Ant去打包编译之后才可。在这里,我主要调研了在PC端,在WTK上及android上的运行。 
    
    
      1.PC端使用Java应用程序调试 
      
    
         首先,Build一下core与javase两个包,如下: 
    
    
          编译完毕后,我们来运行程序,如下:
  
- cd core
- ant
- cd ../javase
- ant
     cd core 
 ant 
 cd ../javase 
 ant
  
  
    
       
    
    
      
  
- cd .. java -cp javase/javase.jar;core/core.jar com.google.zxing.client.j2se.GUIRunner
    cd .. java -cp javase/javase.jar;core/core.jar com.google.zxing.client.j2se.GUIRunner
  
  
    
        运行后会弹出一个文件选择器,我们选取事先准备好的一张条形码图后,可以看出,对于给出的条形码图,程序将其读出到图片下的一个标签中。 
    
    
      2.在NOKIA N82上程序调试
    
    
        首先,我们得保证我们的机器已经安装了WTK。之后,我们必须下载Proguard (
    
      
        http://proguard.sourceforge.net/downloads.html
      
    
    )到本地,将其中的proguard.jar拷备到WTK的bin目录下,修改zxing根目录下的build.properties文件中的wtk-home属性就可以了(注意,对于windows环境中使用,目录分隔符为两个斜杠)之后可以开始编译: 
    
    
       
  
- cd core
- ant
- cd ../javame
- ant
     cd core
 ant
 cd ../javame
 ant
  
  
    
    
        在编译之后,会在zxing的javame目录下生成一个BarcodeReader.jar与BarcodeReader.jad文件。我们直接双击jad文件就可以在WTK模拟器中使用了。 
    
    
      3.在Android模拟器上程序调试 
      
    
        首先,我们得保证我们机器有有现成的Andorid SDK。同时保证在WTK的bin目录下存在proguard.jar,并在build.properties中配置了wtk-home与android-home属性,之后开始编译程序: 
    
  
- cd core
- ant clean build-no-debug
- cd ../android
- ant
     cd core
 ant clean build-no-debug
 cd ../android
 ant
  
  
    
    
       程序编译完成之后,就会在android下的bin目录中生成一个BarcodeScanner-debug.apk程序,我们可以使用Android模拟器为我们提供的adb工具来完成测试。执行: 
    
    
      
  
- adb install bin/BarcodeReader.apk
    adb install bin/BarcodeReader.apk
  
  


 
         
           
         
					 
					