com.docomostar.device
クラス CodeReader

Object
  上位を拡張 com.docomostar.device.CodeReader

public class CodeReader
extends Object

コード認識機能を定義します。 携帯電話のネイティブのコード認識機能を呼び出してバーコードや二次元コードの読み取りを行ったり、 OCR 機能を使ったりすることができます。

コード認識機能は、カメラ機能と同じカメラデバイスを使用します。 そのため、同じカメラIDを持つCameraオブジェクトとCodeReaderオブジェクトは互いに状態に影響を与えます。 カメラ機能を用いて撮影を行った後にコード認識を行った場合は、 Cameraオブジェクトから撮影画像を取り出せる保証はありません。 同様に、コード認識を行った後にカメラ機能を用いて撮影を行った場合は、 CodeReaderオブジェクトからコード認識の結果を取り出せる保証はありません。

Star アプリからのフォーカス切り替えをサポートしているかどうかは機種依存です。 Star アプリからのフォーカス切り替えをサポートする場合、 ネイティブ起動中にユーザ操作により、 Star アプリで設定したフォーカスを変更することができます。 なお、Star アプリからネイティブ起動する場合、CodeReader オブジェクト内のフォーカス設定がネイティブに渡されますが、 ネイティブ起動中に行われたフォーカス設定は、CodeReader オブジェクト内には保持されません。

導入されたバージョン:
Star-1.0
関連項目:
Camera

フィールドの概要
static int CODE_128
           コード種別の一つで、Code 128 (JIS X 0504・ISO/IEC 15417) を表します(=11)。
static int CODE_128_AIM
           Code 128 コード種別の一つで、 AIM Inc. 用に割りあてられたコードであることを表します(=13)。
static int CODE_128_GENERIC
           Code 128 コード種別の一つで、 その他の Code 128 コードであることを表します(=14)。
static int CODE_128_GS1
           Code 128 コード種別の一つで、GS1-128 (旧称 EAN/UCC-128) であることを表します(=12)。
static int CODE_39 [iアプリオプションAPI]
          コード種別の一つで、 CODE-39 を表します(=8)。
static int CODE_AUTO [iアプリオプションAPI]
           コード種別の一つで、自動でコード種別の識別を行うことを表します(=0)。
static int CODE_JAN13
           コード種別の一つで、JAN13 規格のコードを表します(=2)。
static int CODE_JAN8
           コード種別の一つで、JAN8 規格のコードを表します(=1)。
static int CODE_NW7 [iアプリオプションAPI]
          コード種別の一つで、 NW-7 コードを表します(=7)。
static int CODE_OCR [iアプリオプションAPI]
           コード種別の一つで、OCR によって文字認識を行うことを表します(=4)。
static int CODE_QR
           コード種別の一つで、QRコードを表します(=3)。
static int CODE_UNKNOWN
           コード種別の一つで、コード種別が不明であることを表します(=-1)。
static int CODE_UNSUPPORTED [iアプリオプションAPI]
           コード種別の一つで、サポートされていないコードであることを表します(=-2)。
static int TYPE_ASCII
          コードの内容の型の一つで、ASCII 文字列であることを表します(=2)。
static int TYPE_BINARY
          コードの内容の型の一つで、バイナリであることを表します(=0)。
static int TYPE_NUMBER
          コードの内容の型の一つで、数字のみの文字列であることを表します(=1)。
static int TYPE_STRING
          コードの内容の型の一つで、文字列であることを表します(=3)。
static int TYPE_UNKNOWN
          コードの内容の型の一つで、型が不明であることを表します(=-1)。
 
コンストラクタの概要
protected CodeReader()
          アプリケーションが直接このクラスのインスタンスを生成することはできません。
 
メソッドの概要
 int[] getAvailableCodes()
          認識可能なコードの種別を取得します。
 int[] getAvailableFocusModes()
          端末で設定できるフォーカスの種類のリストを取得します。
 byte[] getBytes()
          コード認識結果をバイト列として取得します。
static CodeReader getCodeReader(int id)
           コード認識オブジェクトを取得します。
 int getFocusMode()
          フォーカスの設定状態を取得します。
 int getResultCode()
          認識を行ったコードの種別を取得します。
 int getResultType()
          認識を行ったコードの内容の型を取得します。
 String getString()
          コード認識結果を文字列として取得します。
 void read()
           カメラデバイスを使用してコード認識を行います。
 void setCode(int code)
          認識を行うコードの種別を設定します。
 void setFocusMode(int mode) [iアプリオプションAPI]
          フォーカスを設定します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CODE_AUTO

public static final int CODE_AUTO [iアプリオプションAPI]

コード種別の一つで、自動でコード種別の識別を行うことを表します(=0)。

関連項目:
定数フィールド値

CODE_JAN8

public static final int CODE_JAN8

コード種別の一つで、JAN8 規格のコードを表します(=1)。

コード認識に成功した場合、 getResultType() メソッドは常に TYPE_NUMBER を返します。 また、getBytes() メソッドは、 数字の0〜9に対してそれぞれ0x30〜0x39を格納した長さ8のバイト配列を返します。

関連項目:
定数フィールド値

CODE_JAN13

public static final int CODE_JAN13

コード種別の一つで、JAN13 規格のコードを表します(=2)。

コード認識に成功した場合、 getResultType() メソッドは常に TYPE_NUMBER を返します。 また、getBytes() メソッドは、 数字の0〜9に対してそれぞれ0x30〜0x39を格納した長さ13のバイト配列を返します。

関連項目:
定数フィールド値

CODE_QR

public static final int CODE_QR

コード種別の一つで、QRコードを表します(=3)。

コード認識に成功した場合、 getResultType() メソッドはQRコードに含まれるモードの組み合わせによって以下の表の値を返します。 QRコードにおけるモードの定義については JIS X 0510 を参照すること。

数字モード英数字モード漢字モードバイナリモードメソッドの戻り値
ありなしなしなし TYPE_NUMBER
あり/なしありなしなし TYPE_ASCII
あり/なしあり/なしありなし TYPE_STRING
あり/なしあり/なしあり/なしあり TYPE_BINARY
ただし、QRコードのサポートされていないバージョンであった場合は TYPE_UNKNOWN を返します。

また、getBytes() メソッドは、 数字モードの文字については0〜9に対してそれぞれ0x30〜0x39を、 英数字モードの文字についてはそれぞれの文字に対応するASCIIコードを、 漢字モードの文字についてはそれぞれの文字のShift-JISコード(2バイト)を、 バイナリモードのデータについてはデータのそのままの値を格納したバイト配列を返します。

関連項目:
定数フィールド値

CODE_OCR

public static final int CODE_OCR [iアプリオプションAPI]

コード種別の一つで、OCR によって文字認識を行うことを表します(=4)。

関連項目:
定数フィールド値

CODE_NW7

public static final int CODE_NW7 [iアプリオプションAPI]
コード種別の一つで、 NW-7 コードを表します(=7)。

コード認識に成功した場合、 getResultType() メソッドは、 常に TYPE_ASCII を返します。 また、getBytes() メソッドは、 それぞれの文字に対応する ASCII コードを格納したバイト配列を返します。

文字ASCIIコード
数字0〜90x30〜0x39
特殊記号-0x2d
$0x24
:0x3a
/0x2f
.0x2e
+0x2b
スタート/ストップキャラクタA〜D0x41〜0x44

チェックデジットは無しとみなします。

認識を行うコードの種別に CODE_AUTO を指定した場合、このコードが自動識別されるかどうかは機種依存です。

端末によっては、このコード種別による認識をサポートしていない場合があります。

関連項目:
setCode(int), 定数フィールド値

CODE_39

public static final int CODE_39 [iアプリオプションAPI]
コード種別の一つで、 CODE-39 を表します(=8)。

コード認識に成功した場合、 getResultType() メソッドは、 常に TYPE_ASCII を返します。 また、getBytes() メソッドは、 それぞれの文字に対応する ASCII コードを格納したバイト配列を返します。

文字ASCIIコード
英数字0〜9, A〜Z0x30〜0x39, 0x41〜0x5a
特殊記号-0x2d
.0x2e
スペース0x20
$0x24
/0x2f
+0x2b
%0x25
スタート/ストップキャラクタ*0x2a

Full ASCII ではない、基本的な CODE-39 です。 チェックデジットは無しとみなします。

認識を行うコードの種別に CODE_AUTO を指定した場合、このコードが自動識別されるかどうかは機種依存です。

端末によっては、このコード種別による認識をサポートしていない場合があります。

関連項目:
setCode(int), 定数フィールド値

CODE_128

public static final int CODE_128

コード種別の一つで、Code 128 (JIS X 0504・ISO/IEC 15417) を表します(=11)。
このコード種別は setCode(int) 専用です。 getResultCode() の戻り値となることはありません。

このコードの認識に成功した場合、 認識した Code 128 バーコードが、 JIS X 0504 附属書Bに規定されている以下のどの種別に該当するかを判定し、 その結果を getResultCode() の戻り値として返します。

また、getBytes() メソッドは、 コードセットの解釈がなされた後の、それぞれの文字に対応する ASCII コードを格納したバイト配列を返します。 返されるバイト配列には、以下のシンボルキャラクタは含まれません。

一方、ファンクションキャラクタの解釈は一切行われずに、以下 の対応表に従ったバイト値に置換され、バイト配列に格納さ*0x2a

Full ASCII 縺ァ縺ッ縺ェ縺