Android版バーコードリーダサンプル

2019-08-15/2023-12-22

ReaderSampleXは、バーコード認識ライブラリである KXABarcodeReader Library の購入を検討されている皆様にお配りしているサンプルアプリです。ライセンス購入に先立って、バーコード読み取り能力を検証していただくことを目的として作られました。 Android向けKXABarcodeReader Library APIの使用方法を解説するためのサンプルコードも兼ねています。

ReaderSampleXの使い方

サンプルアプリReaderSampleX 22.10.1は、Android Studio 2021.3.1とAndroid 13端末の組み合わせで動作を確認しています。

ReaderSampleXは、Android JetpackライブラリのCameraX APIを使ったサンプルコードです。

ReaderSampleXを試すには、まず、配布用アーカイブ (ZIP) ファイルを入手します。

ダウンロード: readersamplex.zip

アーカイブファイルをダブルクリックして開き、その中のReaderSampleXプロジェクトフォルダを、どこか適当な場所にコピーします。

コピーしたReaderSampleXプロジェクトフォルダをAndroid Studioで開き、ビルドしてAndroidデバイス(実機上)で実行してください(エミュレータでの動作確認は困難です)。

アプリが起動すると、Android端末の画面中央に赤い水平線が表示されますので、それを基準にバーコードをなぞるようにカメラを動かしてください。カメラの位置を調整して、バーコードにフォーカスを当てます。ピントがあまい状態では読み取れません。

バーコードをスキャン

ライセンスを取得されていない試用の状態では、読み取られたバーコードテキストの一部が伏字(アスタリスク'*')になります。

KXABarcodeReader Libraryの概要

KXABarcodeReader Libraryはバーコードの認識機能を提供するライブラリです。Androidデバイス内蔵カメラから取得したビデオフレームのピクセルデータ(輝度情報の配列)をKXABarcodeReader Library APIにより処理することで、画像に含まれるバーコードの値をテキストデータとして取り出せます。

読み取り可能なバーコードの種類

KXABarcodeReader Libraryは、次の8種のバーコードの読み取りに対応しています。

  1. NW-7 (CODABAR)
  2. ITF
  3. CODE39
  4. CODE128
  5. EAN-13
  6. EAN-8
  7. UPC-E
  8. GS1 DataBar

これらのうちGS1 DataBarを除く7種のバーコードは、ML KitのバーコードスキャンAPIでも読み取れます。 Googleによる実装を利用すればサードパーティー製品をわざわざ購入する必要はありません。

GS1 DataBarには多くのバリエーションがありますが、KXABarcodeReader Libraryはすべての種類を読み取れるわけではありません。医療用医薬品流通(メディカル、ヘルスケア業界)で用いられる次のシンボルを主なターゲットとしています。

  1. GS1データバー限定型 (GS1 DataBar Limited)
  2. GS1データバー二層型 (GS1 DataBar Stacked)
  3. GS1データバー限定型合成シンボルCC-A (GS1 DataBar Limited Composite Symbol with CC-A)
  4. GS1データバー二層型合成シンボルCC-A (GS1 DataBar Stacked Composite Symbol with CC-A)

ファイル構成

KXABarcodeReader Library Android版は、Android Libraryファイル (.aar) として提供されます。 ReaderSampleXでは、プロジェクトフォルダ内のapp/libsディレクトリに配置されています。

ReaderSampleX/app/libs/kxabarcodereader.aar

お客様自身のアプリにKXABarcodeReader Libraryを組み込む際には、この中の kxabarcodereader.aar をコピーして依存関係を追加します。 この他に使用許諾の証となるライセンスファイルをアプリ内にアセットとして配置する必要があります。

KXABarcodeReader Libraryの使い方

Android向けにはJavaクラスによるAPIを用意してあります。 APIについての詳細は「KXABarcodeReader Programmer's Guide (Android)」をご覧ください。

これ以上に細かな処理を(バーコードの検出や入力画像の補正をカスタマイズ)する必要があれば、標準のAPI以外に、低レベルAPIも存在します。利用なさりたいというお客様はメールでお問い合わせください。

お問い合わせ先

KXABarcodeReader Libraryについてのお問い合わせは、次の連絡先にお願いいたします。