|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Object | +--com.nttdocomo.device.CodeReader
コード認識機能を定義します。
携帯電話のネイティブのコード認識機能を呼び出してバーコードや二次元コードの読み取りを行ったり、
OCR 機能を使ったりすることができます。
コード認識機能は、カメラ機能と同じカメラデバイスを使用します。
そのため、同じカメラIDを持つCamera
オブジェクトとCodeReaderオブジェクトは互いに状態に影響を与えます。
カメラ機能を用いて撮影を行った後にコード認識を行った場合は、
Camera
オブジェクトから撮影画像を取り出せる保証はありません。
同様に、コード認識を行った後にカメラ機能を用いて撮影を行った場合は、
CodeReaderオブジェクトからコード認識の結果を取り出せる保証はありません。
Camera
フィールドの概要 | |
static int |
CODE_AUTO
コード種別の一つで、自動でコード種別の識別を行うことを表します(=0)。 |
static int |
CODE_JAN13
コード種別の一つで、JAN13 規格のコードを表します(=2)。 |
static int |
CODE_JAN8
コード種別の一つで、JAN8 規格のコードを表します(=1)。 |
static int |
CODE_OCR
コード種別の一つで、OCR によって文字認識を行うことを表します(=4)。 |
static int |
CODE_QR
コード種別の一つで、QRコードを表します(=3)。 |
static int |
CODE_UNKNOWN
コード種別の一つで、コード種別が不明であることを表します(=-1)。 |
static int |
CODE_UNSUPPORTED
コード種別の一つで、サポートされていないコードであることを表します(=-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()
認識可能なコードの種別を取得します。 |
byte[] |
getBytes()
コード認識結果をバイト列として取得します。 |
static CodeReader |
getCodeReader(int id)
コード認識オブジェクトを取得します。 |
int |
getResultCode()
認識を行ったコードの種別を取得します。 |
int |
getResultType()
認識を行ったコードの内容の型を取得します。 |
String |
getString()
コード認識結果を文字列として取得します。 |
void |
read()
カメラデバイスを使用してコード認識を行います。 |
void |
setCode(int code)
認識を行うコードの種別を設定します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int CODE_AUTO
コード種別の一つで、自動でコード種別の識別を行うことを表します(=0)。
public static final int CODE_JAN8
コード種別の一つで、JAN8 規格のコードを表します(=1)。
コード認識に成功した場合、
getResultType()
メソッドは常に
TYPE_NUMBER
を返します。
また、getBytes()
メソッドは、
数字の0〜9に対してそれぞれ0x30〜0x39を格納した長さ8のバイト配列を返します。
public static final int CODE_JAN13
コード種別の一つで、JAN13 規格のコードを表します(=2)。
コード認識に成功した場合、
getResultType()
メソッドは常に
TYPE_NUMBER
を返します。
また、getBytes()
メソッドは、
数字の0〜9に対してそれぞれ0x30〜0x39を格納した長さ13のバイト配列を返します。
public static final int CODE_QR
コード種別の一つで、QRコードを表します(=3)。
コード認識に成功した場合、
getResultType()
メソッドはQRコードに含まれるモードの組み合わせによって以下の表の値を返します。
数字 | 英数字 | 漢字 | バイナリ | メソッドの戻り値 |
あり | なし | なし | なし | TYPE_NUMBER |
あり/なし | あり | なし | なし | TYPE_ASCII |
あり/なし | あり/なし | あり | なし | TYPE_STRING |
あり/なし | あり/なし | あり/なし | あり | TYPE_BINARY |
TYPE_UNKNOWN
を返します。
また、getBytes()
メソッドは、
数字モードの文字については0〜9に対してそれぞれ0x30〜0x39を、
英数字モードの文字についてはそれぞれの文字に対応するASCIIコードを、
漢字モードの文字についてはそれぞれの文字のShift-JISコード(2バイト)を、
バイナリモードのデータについてはデータのそのままの値を格納したバイト配列を返します。
public static final int CODE_OCR
コード種別の一つで、OCR によって文字認識を行うことを表します(=4)。
public static final int CODE_UNKNOWN
コード種別の一つで、コード種別が不明であることを表します(=-1)。
このコード種別を setCode(int)
メソッドに指定することはできません。
コード認識に失敗した場合(何かしらのコードであることも認識できない場合)や、
コード認識機能が中断した場合に
getResultCode()
メソッドから返されます。
コード認識の結果、コード種別が不明だった場合、
getResultType()
メソッドは常に
TYPE_UNKNOWN
を返します。
public static final int CODE_UNSUPPORTED
コード種別の一つで、サポートされていないコードであることを表します(=-2)。
このコード種別を setCode(int)
メソッドに指定することはできません。
何かしらのコードであることは認識できるけど、
そのコードからデータを取り出すことはできない場合に
getResultCode()
メソッドから返されます。
コード認識の結果、サポートされていないコードだった場合、
getResultType()
メソッドは常に
TYPE_UNKNOWN
を返します。
public static final int TYPE_BINARY
public static final int TYPE_NUMBER
public static final int TYPE_ASCII
public static final int TYPE_STRING
TYPE_NUMBER
や TYPE_ASCII
ではない文字(例えば漢字など)を含むコードを読み取った場合に返されます。
public static final int TYPE_UNKNOWN
コンストラクタの詳細 |
protected CodeReader()
メソッドの詳細 |
public static CodeReader getCodeReader(int id)
コード認識オブジェクトを取得します。
カメラIDに対してこのメソッドが初めて呼ばれた場合はオブジェクトを生成して返します。 生成直後のコード認識オブジェクトは認識結果を保持していない状態になっています。 以後、同じカメラIDに対しては、常に同じオブジェクトへの参照を返します。
id
- カメラIDを指定します。
カメラIDについてはcom.nttdocomo.device.Camera.getCamera(int)
メソッドを参照してください。
IllegalArgumentException
- 引数idに負の値が指定された場合、
またはJavaから制御可能なカメラデバイスの台数以上の値が指定された場合に発生します。
DeviceException
- カメラデバイスを確保できない場合に発生します(NO_RESOURCES)。
public int[] getAvailableCodes()
public void setCode(int code)
code
- 認識を行うコードの種別を設定します。
IllegalArgumentException
-
引数 code に不正な値が指定された場合に発生します。
CODE_UNKNOWN
や CODE_UNSUPPORTED
が指定された場合も含まれます。
IllegalArgumentException
- 引数codeにサポートしていないコード種別が指定された場合に発生します。
public void read() throws InterruptedOperationException
カメラデバイスを使用してコード認識を行います。 このメソッドが呼び出されると、Javaアプリケーションはサスペンドし、 ネイティブアプリケーションのコード認識機能が起動します。 コード認識機能が終了するとJavaアプリケーションはレジュームします。
ユーザの操作によりコード認識機能が終了すると、 Javaアプリケーションがレジュームした時点でこのメソッドから復帰します。 ユーザがコード認識機能で認識行った場合は、コード認識オブジェクト内にその認識結果が保持されます。 ユーザがコード認識を中断したり、あるいはコード認識に失敗した場合は、 コード認識オブジェクト内にコード認識結果は保持されません。 なお、本メソッドを呼び出す前に保持していたコード認識結果は、 本メソッドを呼び出した時点ですべて破棄されます。
コード認識機能が競合などで中断した場合には、 Javaアプリケーションがレジューム復帰した時点で例外が発生します。 このとき、コード認識結果は保持されません。
IllegalStateException
- 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
DeviceException
-
マルチタスク機能によってバックグラウンドで動作しているネイティブ機能が未保存のデータを保持している場合に、
ユーザ確認においてユーザが当該データの破棄を拒否すると発生します(BUSY_RESOURCE)。
InterruptedOperationException
- コード認識機能が中断した場合に発生します。
DeviceException
- リソース不足によりコード認識に失敗した場合に発生します(NO_RESOURCES)。
DeviceException
- リソース不足以外の理由によりコード認識に失敗した場合に発生します(UNDEFINED)。
public int getResultCode()
CODE_AUTO
を指定して自動でコード種別の識別を行った場合も、
認識に成功したコード種別を返します。
CODE_UNKNOWN
を返します。
public int getResultType()
TYPE_UNKNOWN
を返します。
public byte[] getBytes()
public String getString()
new String(getBytes()
)
したのと同じ結果が返ります。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DoCoMo,Inc.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。