|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.device.CodeReader
public class CodeReader
コード認識機能を定義します。 携帯電話のネイティブのコード認識機能を呼び出してバーコードや二次元コードの読み取りを行ったり、 OCR 機能を使ったりすることができます。
コード認識機能は、カメラ機能と同じカメラデバイスを使用します。
そのため、同じカメラIDを持つCameraオブジェクトとCodeReaderオブジェクトは互いに状態に影響を与えます。
カメラ機能を用いて撮影を行った後にコード認識を行った場合は、
Cameraオブジェクトから撮影画像を取り出せる保証はありません。
同様に、コード認識を行った後にカメラ機能を用いて撮影を行った場合は、
CodeReaderオブジェクトからコード認識の結果を取り出せる保証はありません。
Star アプリからのフォーカス切り替えをサポートしているかどうかは機種依存です。 Star アプリからのフォーカス切り替えをサポートする場合、 ネイティブ起動中にユーザ操作により、 Star アプリで設定したフォーカスを変更することができます。 なお、Star アプリからネイティブ起動する場合、CodeReader オブジェクト内のフォーカス設定がネイティブに渡されますが、 ネイティブ起動中に行われたフォーカス設定は、CodeReader オブジェクト内には保持されません。
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 |
| フィールドの詳細 |
|---|
public static final int CODE_AUTO [iアプリオプションAPI]
コード種別の一つで、自動でコード種別の識別を行うことを表します(=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コードに含まれるモードの組み合わせによって以下の表の値を返します。
QRコードにおけるモードの定義については JIS X 0510 を参照すること。
| 数字モード | 英数字モード | 漢字モード | バイナリモード | メソッドの戻り値 |
| あり | なし | なし | なし | 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 [iアプリオプションAPI]
コード種別の一つで、OCR によって文字認識を行うことを表します(=4)。
public static final int CODE_NW7 [iアプリオプションAPI]
コード認識に成功した場合、
getResultType() メソッドは、
常に TYPE_ASCII を返します。
また、getBytes() メソッドは、
それぞれの文字に対応する ASCII コードを格納したバイト配列を返します。
| 文字 | ASCIIコード | |
| 数字 | 0〜9 | 0x30〜0x39 |
| 特殊記号 | - | 0x2d |
| $ | 0x24 | |
| : | 0x3a | |
| / | 0x2f | |
| . | 0x2e | |
| + | 0x2b | |
| スタート/ストップキャラクタ | A〜D | 0x41〜0x44 |
チェックデジットは無しとみなします。
認識を行うコードの種別に
CODE_AUTO
を指定した場合、このコードが自動識別されるかどうかは機種依存です。
端末によっては、このコード種別による認識をサポートしていない場合があります。
setCode(int),
定数フィールド値public static final int CODE_39 [iアプリオプションAPI]
コード認識に成功した場合、
getResultType() メソッドは、
常に TYPE_ASCII を返します。
また、getBytes() メソッドは、
それぞれの文字に対応する ASCII コードを格納したバイト配列を返します。
| 文字 | ASCIIコード | |
| 英数字 | 0〜9, A〜Z | 0x30〜0x39, 0x41〜0x5a |
| 特殊記号 | - | 0x2d |
| . | 0x2e | |
| スペース | 0x20 | |
| $ | 0x24 | |
| / | 0x2f | |
| + | 0x2b | |
| % | 0x25 | |
| スタート/ストップキャラクタ | * | 0x2a |
Full ASCII ではない、基本的な CODE-39 です。 チェックデジットは無しとみなします。
認識を行うコードの種別に
CODE_AUTO
を指定した場合、このコードが自動識別されるかどうかは機種依存です。
端末によっては、このコード種別による認識をサポートしていない場合があります。
setCode(int),
定数フィールド値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
コードを格納したバイト配列を返します。
返されるバイト配列には、以下のシンボルキャラクタは含まれません。
一方、ファンクションキャラクタの解釈は一切行われずに、以下 の対応表に従ったバイト値に置換され、バイト配列に格納されます。 特に、FNC1 が GROUP SEPARATOR (ASCII コード 0x1D) に変換されない点に注意してください。
| ファンクションキャラクタの種類 | 置換されるバイト値 |
|---|---|
| FNC1 | 0xF1 |
| FNC2 | 0xF2 |
| FNC3 | 0xF3 |
| FNC4 | 0xF4 |
getResultType() は、getBytes()
の戻り値に格納されているバイト値の種類によって、以下の値を返します。
TYPE_NUMBERTYPE_ASCIITYPE_BINARY
getString() は、他のコードを認識させた場合と同様に
new String(getBytes()) したものと同じ結果を返します。
そのため、ASCII 制御コードやファンクションキャラクタが含まれる場合
(getResultType() が TYPE_BINARY の場合)
にどのような文字列が返されるかは機種依存であることに注意してください。
CODE_128_GS1,
CODE_128_AIM,
CODE_128_GENERIC,
定数フィールド値public static final int CODE_128_GS1
Code 128 コード種別の一つで、GS1-128 (旧称 EAN/UCC-128) であることを表します(=12)。
Code 128 バーコードを認識させた結果、
その内容が GS1-128 に準拠していた場合に、
getResultCode() の戻り値として、この値が返されます。
この値を setCode(int) で指定することも可能です。
その場合は、CODE_128 を指定した場合と同様に振る舞います。
Code 128 バーコードを認識させた場合の振る舞いの詳細は、
CODE_128 の説明を参照してください。
CODE_128,
CODE_128_AIM,
CODE_128_GENERIC,
定数フィールド値public static final int CODE_128_AIM
Code 128 コード種別の一つで、 AIM Inc. 用に割りあてられたコードであることを表します(=13)。
Code 128 バーコードを認識させた結果、
その内容が、JIS X 0504 附属書B に規定されている
「AIM Inc. 用に割りあてられたコード」
であった場合に、
getResultCode() の戻り値として、この値が返されます。
この値を setCode(int) で指定することも可能です。
その場合は、CODE_128 を指定した場合と同様に振る舞います。
Code 128 バーコードを認識させた場合の振る舞いの詳細は、
CODE_128 の説明を参照してください。
CODE_128,
CODE_128_GS1,
CODE_128_GENERIC,
定数フィールド値public static final int CODE_128_GENERIC
Code 128 コード種別の一つで、 その他の Code 128 コードであることを表します(=14)。
Code 128 バーコードを認識させた結果、
GS1-128
でも
AIM Inc. 用に割りあてられたコードでも無い場合に、
getResultCode() の戻り値として、この値が返されます。
この値を setCode(int) で指定することも可能です。
その場合は、CODE_128 を指定した場合と同様に振る舞います。
Code 128 バーコードを認識させた場合の振る舞いの詳細は、
CODE_128 の説明を参照してください。
CODE_128,
CODE_128_GS1,
CODE_128_AIM,
定数フィールド値public static final int CODE_UNKNOWN
コード種別の一つで、コード種別が不明であることを表します(=-1)。
このコード種別を setCode(int) メソッドに指定することはできません。
コード認識に失敗した場合(何かしらのコードであることも認識できない場合)や、
コード認識機能が中断した場合に
getResultCode() メソッドから返されます。
コード認識の結果、コード種別が不明だった場合、
getResultType() メソッドは常に
TYPE_UNKNOWN を返します。
public static final int CODE_UNSUPPORTED [iアプリオプションAPI]
コード種別の一つで、サポートされていないコードであることを表します(=-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については Camera.getCamera(int)
メソッドを参照してください。
UnsupportedOperationException -
カメラ機能はサポートしているが、
コード認識機能はサポートしていないようなカメラ
ID が指定された場合に発生します。
IllegalArgumentException -
DeviceException - public int[] getAvailableCodes()
public void setCode(int code)
code - 認識を行うコードの種別を設定します。
IllegalArgumentException -
CODE_UNKNOWN や CODE_UNSUPPORTED
が指定された場合も含まれます。
IllegalArgumentException -
public void read()
throws InterruptedOperationException
カメラデバイスを使用してコード認識を行います。 このメソッドが呼び出されると、Star アプリはサスペンドし、 ネイティブアプリケーションのコード認識機能が起動します。 コード認識機能が終了するとStar アプリはレジュームします。
ユーザの操作によりコード認識機能が終了すると、 Star アプリがレジュームした時点でこのメソッドから復帰します。 ユーザがコード認識機能で認識行った場合は、コード認識オブジェクト内にその認識結果が保持されます。 ユーザがコード認識を中断したり、あるいはコード認識に失敗した場合は、 コード認識オブジェクト内にコード認識結果は保持されません。 なお、本メソッドを呼び出す前に保持していたコード認識結果は、 本メソッドを呼び出した時点ですべて破棄されます。
コード認識機能が競合などで中断した場合には、 Star アプリがレジューム復帰した時点で例外が発生します。 このとき、コード認識結果は保持されません。
SecurityException -
DeviceException - InterruptedOperationException -
DeviceException - DeviceException - public int getResultCode()
CODE_AUTO を指定して自動でコード種別の識別を行った場合も、
認識に成功したコード種別を返します。
CODE_UNKNOWN を返します。public int getResultType()
TYPE_UNKNOWN を返します。public byte[] getBytes()
public String getString()
new String(getBytes()) したのと同じ結果が返ります。
public int[] getAvailableFocusModes()
リストの値は、
Camera クラスで定義されているフォーカスの種類の定数になります。
フォーカス切り替えをサポートしていない実装では、 長さ 1 の配列が返されます。 その配列に格納されている値は以下の通りです。
Camera.FOCUS_MACRO_MODE
Camera.FOCUS_NORMAL_MODE
フォーカス切り替えがハードウェアによる機構である場合には、
このメソッドは new int[] { を返します。
この場合、Star アプリからフォーカス制御することはできません。
Camera.FOCUS_HARDWARE_SWITCH}
public void setFocusMode(int mode) [iアプリオプションAPI]
getAvailableFocusModes()で取得したリストから任意の値を設定します。
指定する値は、
Camera クラスで定義されているフォーカスの種類の定数になります。
Camera クラスで定義されていない定数、
または、リストにない値を指定した場合には例外が発生します。
フォーカス切り替えがハードウェアによる機構である場合には、
引数 mode に Camera.FOCUS_HARDWARE_SWITCH が指定された場合は何も行わずに無視されます。
mode - フォーカスの種類の値を指定します。
IllegalArgumentException -
public int getFocusMode()
取得した値は、
Camera クラスで定義されているフォーカスの種類の定数になります。
一度も setFocusMode(int) を呼び出していない状態で、
このメソッドを呼び出した場合に、どのような値が取得されるかは機種依存です。
フォーカス切り替えをサポートしていない実装では、 以下の値が返されます。
Camera.FOCUS_MACRO_MODE
Camera.FOCUS_NORMAL_MODE
フォーカス切り替えがハードウェアによる機構である場合には、
このメソッドは Camera.FOCUS_HARDWARE_SWITCH を返します。
この場合、Star アプリからフォーカス制御することはできません。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。