com.j_phone.io
インタフェース BarCodeConnection

すべてのスーパーインタフェース:
javax.microedition.io.Connection, OpticalDeviceConnection

public interface BarCodeConnection
extends OpticalDeviceConnection

バーコードリーダ機能を実現するためのインタフェースです。このインタフェースを実装したオブジェクトは、スキームに "barcode:" を指定してConnector.open()メソッドを呼び出すことで取得できます。このインタフェースの機能について、以下に説明します。


概要

バーコードの読み取りにおいて、このインタフェースが実現する機能を以下に示します。

このインタフェースにおいて、以下のバーコード読み取り用パラメータが指定できます。

バーコードの読み取りの基本的な処理シーケンス

バーコードの読み取りの基本処理シーケンスを以下に示します。
  1. Connector.open() メソッドにて、スキームに "barcode:" を 指定して呼び出すことにより、BarCodeConnection インタフェースを実装したオブジェクトを取得します。
  2. BarCodeConnection インタフェースのisSupported() メソッドにて、ネイティブシステムでサポートされているバーコードの読み取り形式を取得します。
  3. BarCodeConnection インタフェースのsetBarCodeReaderType() メソッドにて、バーコード読み取り動作を指定します。
  4. BarCodeConnection インタフェースのcapture() メソッドを呼び出して、バーコードデータを読み取ります。
  5. BarCodeConnection インタフェースのcount() メソッドおよびgetType() メソッドおよびgetBytes() メソッドを呼び出すことにより、読み取ったバーコードデータを取得します。
  6. closeメソッドを使うことにより、バーコードリーダ機能を終了します。

導入されたバージョン:
JSCL 1.2

フィールドの概要
static int CHKTYPE_CONTINUOUS_READ
          isSupported() でチェックする内容が、連続読み取りのサポートの有無であることを示します。
static int CHKTYPE_JANCODE
          isSupported() でチェックする内容が、JANコード読み取りのサポートの有無であることを示します。
static int EXT_QR_CODE
          バーコード形式がSoftbank拡張QRコードであることを示します。
static int JAN_CODE
          バーコード形式がJANコードであることを示します。
static int QR_CODE
          バーコード形式がQRコードであることを示します。
static int READTYPE_JANCODE_CONTINUOUS
          setBarCodeReaderType() で設定するバーコード読み取り動作が、JANコード連続読み取りであることを示します。
static int READTYPE_JANCODE_SINGLE
          setBarCodeReaderType() で設定するバーコード読み取り動作が、JANコード1回読み取りであることを示します。
static int READTYPE_JANQR_SINGLE
          setBarCodeReaderType() で設定するバーコード読み取り動作が、JAN/QR指定無し1回読み取りであることを示します。
static int READTYPE_QRCODE_CONTINUOUS
          setBarCodeReaderType() で設定するバーコード読み取り動作が、QRコード連続読み取りであることを示します。
static int READTYPE_QRCODE_SINGLE
          setBarCodeReaderType() で設定するバーコード読み取り動作が、QRコード1回読み取りであることを示します。
 
メソッドの概要
 void capture()
          ネイティブシステム内のバーコードリーダアプリケーションを起動して、 バーコードデータを読み取ります。
 int count()
          バーコードリーダアプリケーションにより取得したバーコードデータの総数を取得します。
 byte[] getBytes(int index)
          指定したインデックスに対応するバーコードデータを取得します。
 int getType(int index)
          指定したインデックスに対応するバーコード形式を取得します。
 boolean isSupported(int chkType)
          バーコードリーダアプリケーションの特定の機能のサポートの有無を、ネイティブシステムから取得します。
 void setBarCodeReaderType(int readType)
          バーコードリーダアプリケーション起動時のバーコード読み取り動作を設定します。
 
インタフェース javax.microedition.io.Connection から継承したメソッド
close
 

フィールドの詳細

CHKTYPE_JANCODE

public static final int CHKTYPE_JANCODE
isSupported() でチェックする内容が、JANコード読み取りのサポートの有無であることを示します。

CHKTYPE_CONTINUOUS_READ

public static final int CHKTYPE_CONTINUOUS_READ
isSupported() でチェックする内容が、連続読み取りのサポートの有無であることを示します。

READTYPE_JANCODE_SINGLE

public static final int READTYPE_JANCODE_SINGLE
setBarCodeReaderType() で設定するバーコード読み取り動作が、JANコード1回読み取りであることを示します。

READTYPE_JANCODE_CONTINUOUS

public static final int READTYPE_JANCODE_CONTINUOUS
setBarCodeReaderType() で設定するバーコード読み取り動作が、JANコード連続読み取りであることを示します。

READTYPE_QRCODE_SINGLE

public static final int READTYPE_QRCODE_SINGLE
setBarCodeReaderType() で設定するバーコード読み取り動作が、QRコード1回読み取りであることを示します。

READTYPE_QRCODE_CONTINUOUS

public static final int READTYPE_QRCODE_CONTINUOUS
setBarCodeReaderType() で設定するバーコード読み取り動作が、QRコード連続読み取りであることを示します。

READTYPE_JANQR_SINGLE

public static final int READTYPE_JANQR_SINGLE
setBarCodeReaderType() で設定するバーコード読み取り動作が、JAN/QR指定無し1回読み取りであることを示します。 (JAN/QRの自動認識に対応しているネイティブシステムは、自動認識動作となる場合があります)

JAN_CODE

public static final int JAN_CODE
バーコード形式がJANコードであることを示します。

QR_CODE

public static final int QR_CODE
バーコード形式がQRコードであることを示します。

EXT_QR_CODE

public static final int EXT_QR_CODE
バーコード形式がSoftbank拡張QRコードであることを示します。
メソッドの詳細

isSupported

public boolean isSupported(int chkType)
                    throws java.lang.IllegalArgumentException
バーコードリーダアプリケーションの特定の機能のサポートの有無を、ネイティブシステムから取得します。
定義:
インタフェース OpticalDeviceConnection 内の isSupported
パラメータ:
chkType - サポートの有無を取得する項目。CHKTYPE_JANCODE、または CHKTYPE_CONTINUOUS_READ のどちらかを指定する。
戻り値:
引数chkType で指定された形式をネイティブシステムがサポートしている場合は true、サポートしていない場合は false
例外:
java.lang.IllegalArgumentException - 引数 chkType が、CHKTYPE_JANCODE、または CHKTYPE_CONTINUOUS_READ 以外の場合に発生する

setBarCodeReaderType

public void setBarCodeReaderType(int readType)
                          throws java.lang.IllegalArgumentException
バーコードリーダアプリケーション起動時のバーコード読み取り動作を設定します。

バーコード読み取り動作の初期値は READTYPE_JANQR_SINGLE です。

ネイティブシステムが連続読み取りに対応していない場合は、JANコードの連続読み取りまたはQRコードの連続読み取りが指定されても、JANコードの1回読み取りまたはQRコードの1回読み取り動作となります。

パラメータ:
readType - バーコード読み取り動作。READTYPE_JANCODE_SINGLEREADTYPE_JANCODE_CONTINUOUSREADTYPE_QRCODE_SINGLEREADTYPE_QRCODE_CONTINUOUS、またはREADTYPE_JANQR_SINGLE のどれかを指定する。
例外:
java.lang.IllegalArgumentException - 引数 readTypeREADTYPE_JANCODE_SINGLEREADTYPE_JANCODE_CONTINUOUSREADTYPE_QRCODE_SINGLEREADTYPE_QRCODE_CONTINUOUS、またはREADTYPE_JANQR_SINGLE以外が指定された場合に発生する

capture

public void capture()
             throws java.io.IOException
ネイティブシステム内のバーコードリーダアプリケーションを起動して、 バーコードデータを読み取ります。 読み取ったデータは、count()getType()getBytes() の各メソッドを利用して取得できます。

ネイティブシステム内のバーコードリーダアプリケーションが起動している間、すべてのJavaスレッドはブロックされます。

バーコードリーダアプリケーションを起動する前に、 setBarCodeReaderType() により バーコード読み取り動作を指定することが可能です。

定義:
インタフェース OpticalDeviceConnection 内の capture
例外:
java.io.IOException - バーコード読み取りでエラーが発生した場合に発生する

count

public int count()
バーコードリーダアプリケーションにより取得したバーコードデータの総数を取得します。
戻り値:
取得したバーコードデータの総数。 1 からこのメソッドの戻り値までの値が各バーコードデータに対応するインデックスとなる。

getType

public int getType(int index)
            throws java.lang.IllegalArgumentException
指定したインデックスに対応するバーコード形式を取得します。

連続読み取りモードでバーコードリーダアプリケーションを起動したが1回のみの取得で終了した場合、および1回読み取りモードでバーコードリーダアプリケーションを起動した場合は、引数 index に 1 を指定することにより、読み取ったバーコードデータのバーコード形式を取得できます。

パラメータ:
index - 連続読み取りのインデックス。 1 から count() の戻り値 までの値で指定する。1回読み取りの場合は 1 を指定する。
戻り値:
引数 index で指定された値に対応するバーコードデータのバーコード形式。JAN_CODEQR_CODE、または EXT_QR_CODE のどれかが返る。
例外:
java.lang.IllegalArgumentException - 引数 index が、1 から count() の戻り値 以外の無効なインデックスの場合に発生する

getBytes

public byte[] getBytes(int index)
                throws java.lang.IllegalArgumentException
指定したインデックスに対応するバーコードデータを取得します。

連続読み取りモードでバーコードリーダアプリケーションを起動したが1回のみの取得で終了した場合、および1回読み取りモードでバーコードリーダアプリケーションを起動した場合は、引数 index に 1 を指定することにより、読み取ったバーコードデータを取得できます。

パラメータ:
index - 連続読み取りのインデックス。 1 から count() の戻り値までの値で指定する。1回読み取りの場合は 1 を指定する。
戻り値:
引数 index で指定された値に対応するバーコードデータのバイト配列
例外:
java.lang.IllegalArgumentException - 引数 index が、1 から count() の戻り値 以外の無効なインデックスの場合に発生する