0

私はアンドロイドが初めてです。次のように機能するバーコード スキャナーを開発しようとしています。カメラで (バーコードの) 画像を取得し、このバーコード画像をスキャンします。私の質問は、どうすればそれを行うことができますか? 前もって感謝します

これが私のコードです:

TextView result_text;
Button scan_btn;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    result_text = (TextView)findViewById(R.id.Result_tv);

    scan_btn = (Button)findViewById(R.id.Barcode_Scan_Button);
    scan_btn.setOnClickListener( new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent scanIntent= new Intent("com.google.zxing.client.android.SCAN");
            scanIntent.putExtra("SCAN_MODE", "QR_CODE_MODE");

            startActivityForResult(scanIntent, 0);

        }
    });
}

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

        if (requestCode == 0) {


          if (resultCode == RESULT_OK) {

            result_text.setText(intent.getStringExtra("SCAN_RESULT"));

          } else if (resultCode == RESULT_CANCELED) {

            result_text.setText("Scan cancelled.");

          }

        }

      }

    }
4

4 に答える 4

4

@Zainあなたが取っているアプローチは厳密には推奨されていません

ガイドラインに従って、明示的に Scan Intent を呼び出さないでください。

IntentIntegratorzxing によってリリースされた新しいクラスを使用する必要があります。

どうぞ

最初にインテントを呼び出すコードを追加します。

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

以下の URL から IntentIntegrator クラスをダウンロードします。

http://code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/IntentIntegrator.java

次に、これを Activity に追加して、結果を処理します。

@Override   
protected 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 の wiki ページを調べてください。非常にうまく説明されています。

http://code.google.com/p/zxing/w/list

http://code.google.com/p/zxing/wiki/ScanningViaIntent

Zxing インテントを呼び出す方法を示すサンプル アプリケーションを次に示します。

http://code.google.com/p/zxing/source/browse/trunk/androidtest/src/com/google/zxing/client/androidtest/ZXingTestActivity.java

最後に、テスト プロジェクト + ライブラリは次の場所にあります。

http://code.google.com/p/zxing/source/browse/trunk#trunk%2Fandroid-integration%253Fstate%253Dclosed

于 2012-07-04T05:25:39.183 に答える
2

http://code.google.com/p/zxing/ を調べてください

とにかく、問題は非常に複雑です。これは、フーリエ、エッジ検出、行列計算などを使用して行われる IIRC です。さらに、多くの標準があります。1 か月の作業の準備をします。

于 2012-07-04T05:11:33.183 に答える
0

以下のリンクを見てください。バーコード スキャン アプリの開発に役立ちます。

バーコード スキャン 1 バーコード スキャン2

于 2012-07-04T05:19:09.583 に答える