2013-05-29 62 views
2

我想斑马线在Android项目(我是初学者)集成。Android的条形码扫描仪使用斑马线

我已经看到,这里http://bit.ly/nBszrL描述的方式气馁,最好的方式做到这一点是通过如意图在这篇文章中说http://bit.ly/o29Uma

PS:我不想条形码扫描器安装我的设备

我已经在我的项目包括所需的类:http://bit.ly/16pKMKx

我的测试代码:

package com.example.barcodescanner; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

    private static final int REQUEST_BARCODE = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    // when my button is clicked 
    public void scanBarCode(View view) { 
     Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.putExtra("SCAN_MODE", "PRODUCT_MODE"); 

     startActivityForResult(intent, REQUEST_BARCODE); 

     Toast toast = Toast.makeText(this, "Start scanning Barcode", Toast.LENGTH_SHORT); 
     toast.show(); 
    } 

} 

,我真的不明白如何通过这种方式来做到这一点:http://bit.ly/18v7K2O(我真的不明白这一点,这就是我想要的东西用)

你有任何想法左右怎么做 ?

谢谢。

回答

4

Android系统的建立是为了让人们可以写做一个特别的事情以及应用程序时,他们需要其他开发人员可以使用它们。条码扫描就是一个很好的例子。 ZXing是一款出色的扫描仪,让其他应用程序可以通过Intents使用它。基本上你告诉操作系统要扫描条形码和斑马线说,“是的,我能做到这一点!”他们扫描条形码并将信息返回给您。这样做的好处是你不必担心他们什么时候更新他们的东西。用户只会收到通知,它已更新,您可以使用最新,最好的。一个潜在的缺点是用户在他们的手机上有另一个应用程序,但我并不认为这是一个退步。要做到这一点这种方式,你真的只需要你连接到这两个文件,然后你只是把这个在你的代码要开始扫描:

IntentIntegrator integrator = new IntentIntegrator(yourActivity); 
integrator.initiateScan(); 

而这一点从条形码扫描器得到了答案:

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); 
    if (scanResult != null) { 
     // handle scan result 
    } 
    // else continue with any other code you need in the method 
    ... 
} 

你唯一的选择是拉下的所有代码的条码扫描仪和肿块是到您的项目,然后弄清楚它是如何工作以及你需要配合以使其您的应用程序。然后,每当ZXing进行更新时,您都必须重新执行该操作。一团糟!

+1

谢谢:)正如你所说的我没有和它的工作原理,但它显示了我,当我的应用程序运行在第一次BarcodeScanner家庭活动,和我必须点击一个按钮来实现条形码阅读器。我想改变从横向到纵向扫描相机的方向,我一直在寻找,发现这个,我应该在barcodescanner的源代码修改,我也想有条码扫描仪仅在一个小块。我可以用这种方法吗? 谢谢。 – Copernic