|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.device.location.GyroSensor
com.docomostar.opt.device.location.GyroSensor2
public class GyroSensor2
ジャイロセンサクラスのオプション機能を定義します。
ジャイロセンサクラスのオプション機能をサポートしている場合には、
com.docomostar.device.location.GyroSensor.getGyroSensor()
は常に GyroSensor2 インスタンスを返します。
オプションパッケージの
com.docomostar.opt.device.GyroSensor.getGyroSensor()
からGyroSensor2 インスタンスを返すことはありません。
GyroSensor,
GyroSensor| フィールドの概要 | |
|---|---|
static int |
EVENT_CALIBRATION_COMPLETED
イベント検知機能が検知可能なイベントの種類で、 キャリブレーションが完了したことを表します(=0x02)。 |
static int |
EVENT_CALIBRATION_INTERRUPTED
イベント検知機能が検知可能なイベントの種類で、 キャリブレーションが中断したことを表します(=0x04)。 |
static int |
EVENT_CALIBRATION_REQUIRED
イベント検知機能が検知可能なイベントの種類で、 キャリブレーションが必要であることを表します(=0x01)。 |
| クラス com.docomostar.device.location.GyroSensor から継承されたフィールド |
|---|
ANGULAR_VELOCITY_X, ANGULAR_VELOCITY_Y, ANGULAR_VELOCITY_Z |
| メソッドの概要 | |
|---|---|
void |
calibrate()
ジャイロセンサ機能のキャリブレーションを行います。 |
int[] |
getAvailableEvent()
イベント検知機能
がサポートする検知イベントを返します。 |
com.docomostar.device.location.GyroData |
getCurrentData()
現在の角速度を計測し、結果を取得します(ワンショット計測)。 |
void |
setEventListener(GyroSensor2EventListener listener)
イベント検知機能で使用するイベントリスナを設定します。 |
void |
start(int interval,
boolean continuance)
周期計測を開始します。 |
void |
startEventDetection(int event)
ジャイロセンサ機能にイベント検知を依頼します。 |
void |
stopEventDetection()
ジャイロセンサ機能によるイベント検知を停止します。 |
| クラス com.docomostar.device.location.GyroSensor から継承されたメソッド |
|---|
disposeData, getAvailableData, getData, getDataSize, getGyroSensor, getIntervalResolution, getMaxDataSize, getMaxDataValue, getMinDataValue, peekLatestData, setEnabled, stop |
| クラス Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final int EVENT_CALIBRATION_REQUIRED
端末の温度変化などにより、本来の角速度値との誤差が大きくなってきた場合に、 ジャイロセンサ(角速度センサ)のキャリブレーションが必要になります。
ジャイロセンサ機能が有効な状態 (setEnabled(true) 完了から、
setEnabled(false) 呼び出しまで)
でキャリブレーションが必要となった場合にこのイベントが発生します。
このイベント発生後、実際にキャリブレーションを行うには、calibrate()
を呼び出して下さい。
イベントが発生した場合、
リスナのactionPerformedメソッド
が呼ばれます。
このとき、第 2 引数にこのフィールドの値が渡されます。第 3 引数は使用しません。
周期計測中にこのイベントが発生した場合は、
GyroSensor.stop() を実行し、キャリブレーションを行って下さい。
public static final int EVENT_CALIBRATION_COMPLETED
イベントが発生した場合、
リスナのactionPerformedメソッド
が呼ばれます。
このとき、第 2 引数にこのフィールドの値が渡されます。第 3 引数は使用しません。
public static final int EVENT_CALIBRATION_INTERRUPTED
キャリブレーション実行中のタイマ監視でタイムアウトとなった場合もこのイベントが発生します。
イベントが発生した場合、
リスナのactionPerformedメソッド
が呼ばれます。
このとき、第 2 引数にこのフィールドの値が渡されます。第 3 引数は使用しません。
このイベントが発生した場合は、
再度キャリブレーションの実施が必要です。
キャリブレーションが完了しない限りは、
計測値の誤差が解消されません。
| メソッドの詳細 |
|---|
public int[] getAvailableEvent()
イベント検知機能
がサポートする検知イベントを返します。
以下の値のうち、サポートするイベントの値を配列中に返します。
イベント検知機能をサポートしない場合、null が返ります。
public void startEventDetection(int event)
本メソッドの呼び出しに成功すると、
ジャイロセンサ機能にイベント検知を依頼し、メソッド呼び出しから戻ります。
ジャイロセンサ機能によりイベントが検知されると、
setEventListener()
で指定したリスナにイベントが通知されます。
検知可能なイベントは、以下の通りです。
イベント検知中にサスペンドが発生した場合は、 イベント検知は自動的に停止します。イベント検知を再開する場合には、 レジュームイベント処理において、再度本メソッドを呼び出してください。
event - 検知イベントを指定します。
複数のイベントを指定可能です。指定する場合は、OR ( "|" ) で繋げて指定します。
com.docomostar.device.DeviceException - com.docomostar.device.DeviceException - IllegalArgumentException -
public void stopEventDetection()
複数のイベント検知を行っている場合は、すべてのイベント検知を停止します。
public void setEventListener(GyroSensor2EventListener listener)
listener - リスナを指定します。
com.docomostar.device.DeviceException - public void calibrate()
このメソッドは非同期メソッドです。 キャリブレーション中にこのメソッドを呼び出した場合、 呼び出しは無視されます。
EVENT_CALIBRATION_REQUIRED イベントの発生によらず、
このメソッドを呼び出すことでキャリブレーションを実行します。
キャリブレーション中は、水平にした状態で静止させておくなど、
キャリブレーションに必要な操作をユーザが行う必要があります。
なお、キャリブレーション中にこのアプリが Suspended 状態になった場合でも、
キャリブレーションは継続されます。
周期計測中にこのメソッドを呼び出すと 周期計測中の場合であることを示す例外 DeviceException(ILLEGAL_STATE) が発生します。
キャリブレーションが必要な場合には、
setEventListener()
で指定したリスナに EVENT_CALIBRATION_REQUIRED イベントが通知されます。
このメソッド呼び出しによるキャリブレーションが完了した場合には、
setEventListener()
で指定したリスナに EVENT_CALIBRATION_COMPLETED イベントが通知されます。
このメソッド呼び出しによるキャリブレーションが中断した場合には、
setEventListener()
で指定したリスナに EVENT_CALIBRATION_INTERRUPTED イベントが通知されます。
com.docomostar.lang.IllegalStateException -
com.docomostar.device.DeviceException - public com.docomostar.device.location.GyroData getCurrentData()
com.docomostar.device.location.GyroSensor の記述:
GyroData オブジェクトが保持する配列の値を、
ワンショット計測結果で上書きします。
その後、この GyroData オブジェクトへの参照を返します。
常に同じオブジェクトへの参照を返します。
返されるオブジェクトは、
GyroSensor.getData(),
GyroSensor.peekLatestData() とは異なります。
本メソッドの実行に成功すると、 周期計測用の計測結果蓄積バッファはクリアされます。
com.docomostar.device.location.GyroSensor 内の getCurrentDatacom.docomostar.lang.IllegalStateException -
com.docomostar.device.DeviceException - com.docomostar.device.DeviceException -
public void start(int interval,
boolean continuance)
com.docomostar.device.location.GyroSensor の記述:
周期計測を開始します。指定した間隔毎に周期計測を行います。
実装がサポートしている計測間隔は、GyroSensor.getIntervalResolution() で得られる解像度の倍数です。
実装サポート値以外の計測間隔を指定した場合、指定した値以上で最も実装サポート値に近い値が指定されたものとして扱われます。
周期計測中にアプリケーションがサスペンドした場合に、
周期計測を継続するかどうかを指定することができます。
引数 continuance に、周期計測を継続する場合は true、
周期計測を停止する場合は false を指定します。
サスペンド時に周期計測を停止する場合、周期計測を再開させるためにはレジューム処理において、
再度本メソッドを呼び出して下さい。
サスペンド前の計測値は GyroSensor.getData()により取得して下さい。
端末がサスペンド発生時における周期計測の継続をサポートしていない場合、
引数 continuance に true を指定して本メソッドを呼び出すと、
UnsupportedOperationException が発生します。
計測結果は、実装内部の計測結果蓄積バッファに蓄積されていきます。
蓄積可能な最大データ数は、GyroSensor.getMaxDataSize() により取得できます。
最大データ数を超えると、蓄積されたデータの古いものから上書きします。
計測結果は、 getData() により、周期計測中および周期計測後に取得できます。
蓄積された計測結果は、次にワンショット計測、周期計測を行った場合、また GyroSensor.disposeData() 、 getData()
を呼び出した場合、アプリケーションを終了した場合にクリアされます。
周期計測を停止させるためには、GyroSensor.stop() メソッドを使用します。
サスペンド時に周期計測を継続している場合も含め、
アプリケーションが終了した場合、周期計測は停止します。
また、周期計測中にジャイロセンサ機能が無効化された場合、
周期計測は停止します。
GyroSensor.getCurrentData() メソッド呼び出し中に
別のスレッドからこのメソッドが呼び出された場合、
getCurrentData() 呼び出し終了までこの
メソッドの実行は遅延されます。
本メソッドの実行に成功すると、周期計測用の蓄積バッファはクリアされます。
com.docomostar.device.location.GyroSensor 内の startinterval - 周期計測の間隔をミリ秒単位で指定します。continuance - サスペンド時に周期計測を継続するかどうかを指定します。
com.docomostar.lang.UnsupportedOperationException -
IllegalArgumentException -
com.docomostar.lang.IllegalStateException -
com.docomostar.device.DeviceException - com.docomostar.device.DeviceException -
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。