機能の 1 つにバーコード スキャナーがあるアプリを作成する必要があります。バーコード スキャナーを作成するためのコード例を探していましたが、完全なサンプル コードは見つかりませんでした。
私が見つけたのは、Zxing アプリで動作するコード例だけでした。しかし、二次アプリを実行したくありません。オールインワンにしたい。
誰かがいくつかの例を知っていますか?
ありがとう。
機能の 1 つにバーコード スキャナーがあるアプリを作成する必要があります。バーコード スキャナーを作成するためのコード例を探していましたが、完全なサンプル コードは見つかりませんでした。
私が見つけたのは、Zxing アプリで動作するコード例だけでした。しかし、二次アプリを実行したくありません。オールインワンにしたい。
誰かがいくつかの例を知っていますか?
ありがとう。
ZXingはオープンソースです!本当に独自のバーコードスキャナーを実装したい場合は、ソースを調べてください。
ここでコードをオンラインで閲覧できます。ApacheLicense2.0としてライセンスされています。
Zxing には優れた Intent ベースの API があり、セカンダリ アプリとして使用するように設計されています。ユーザーが Zxing アプリをインストールしているかどうかを確認することをお勧めします。インストールされていない場合は、Google Play ストアにリダイレクトしてダウンロードしてください。
ここで回答するのがかなり遅れていることはわかっていますが、この質問に対する最新の回答を探しているすべての人は、サードパーティの API に依存する必要がなくなりました。Google はGoogle Play Services 7.8 を介してバーコード スキャン APIを提供しています。詳細については、 CodeLabs、ドキュメント、Github サンプルを参照してください。
ZXing Android Embeddedを使用できる他のアプリに依存せずにアプリ内にバーコード スキャナーを実装する場合は、 gradleの依存関係でその依存関係を宣言し、アプリ内でその機能を使用するだけです。
これを使用するには、build.gradle ファイル (プロジェクト/モジュール) に以下を追加します。
repositories {
jcenter()
}
dependencies {
compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
compile 'com.google.zxing:core:3.2.1'
compile 'com.android.support:appcompat-v7:23.1.0' // Version 23+ is required
}
android {
buildToolsVersion '23.0.2' // Older versions may give compile errors
}
コードで、次の方法でスキャン アクティビティを開始します。
public void scanBarcode() {
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES);
integrator.setPrompt("Scan the barcode");
integrator.setCameraId(0); // Use a specific camera of the device
integrator.setBeepEnabled(false);
integrator.setBarcodeImageEnabled(true);
integrator.initiateScan();
}
結果を次のように処理します。
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null && scanResult.getContents() != null) {
String content = scanResult.getContents().toString();
// content = this is the content of the scanned barcode
// do something with the content info here
}
}
詳細については、以下のリンクのZXing Android Embedded github リポジトリを参照してください。