|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.device.location.AccelerationSensor
加速度センサ機能は、基本機能として加速度を取得する機能を提供します。
加速度センサ機能が計測できる加速度そのもの、
およびその値を変換して得られる値(ロール角、ピッチ角)を取得できます。
また、画面の縦横の向き等を取得できます。
ただし、実装によって取得可能な値は異なります。
計測データの種類については、
AccelerationData
クラスを参照してください。
加速度取得機能では、現在の加速度値を得るワンショット計測と、
周期的に連続して加速度値を得る周期計測を提供します。
周期計測では、実装内部の計測データ蓄積バッファに計測結果を蓄積します。
アプリケーションは、周期計測中あるいは計測後に蓄積バッファ内の計測結果を取得できます。
計測結果は、AccelerationData オブジェクトを介して取得できます。
AccelerationData オブジェクトは
ワンショット計測
用、
周期計測(全データ)
用、
周期計測(最新データ)
用に各 1 つずつ生成され、
計測結果は各オブジェクトが保持する配列に格納されます。
加速度センサ機能は、オプション機能としてイベント検知機能を提供します。 イベント検知機能は、 画面の縦横の向きの変化、ダブルタップした位置([DoJa-5.1 (906i) 以降])等を検知し、イベントとして通知します。 実装によってはイベント検知機能をサポートしないことがあります。 また、実装によって検知可能なイベントは異なります。
[DoJa-5.1 (905i) まで]
周期計測中またはイベント検知中にワンショット計測
、
周期計測開始
、イベント検知開始
を行うと例外が発生します。
[DoJa-5.1 (906i) 以降]
周期計測中にワンショット計測、周期計測開始、イベント検知開始を行なうと例外が発生します。
イベント検知中にワンショット計測、周期計測開始を行なうことが可能です。
イベント検知中にイベント検知開始を行なうと例外が発生します。
加速度取得機能により
「ロール(roll)角」 「ピッチ(pitch)角」を取得することができますが、
「ヨー(yaw)角」に相当する値を知る必要がある場合は、
電子コンパス機能
における方位角の値を利用して下さい。
実装によっては、加速度センサ機能をサポートしていない場合があります。
また、電子コンパス機能のサポート有無と、
加速度センサ機能のサポート有無は独立しており、
任意のサポート有無の組み合わせが有り得ることに注意して下さい。
フィールドの概要 | |
static int |
ACCELERATION_X
計測データの種類を示す値で、X軸方向の加速度を表します。 |
static int |
ACCELERATION_Y
計測データの種類を示す値で、Y軸方向の加速度を表します。 |
static int |
ACCELERATION_Z
計測データの種類を示す値で、Z軸方向の加速度を表します。 |
static int |
DOUBLE_TAP_BACK
ダブルタップ時の位置を示す値で、端末の背面のダブルタップを表します。 |
static int |
DOUBLE_TAP_FRONT
ダブルタップ時の位置を示す値で、端末のLCD面のダブルタップを表します。 |
static int |
DOUBLE_TAP_LEFT
ダブルタップ時の位置を示す値で、端末の左側面のダブルタップを表します。 |
static int |
DOUBLE_TAP_RIGHT
ダブルタップ時の位置を示す値で、端末の右側面のダブルタップを表します。 |
static int |
EVENT_DOUBLE_TAP
イベント検知機能が検知可能なイベントの種類で、 ダブルタップ操作を表します。 |
static int |
EVENT_SCREEN_ORIENTATION
イベント検知機能が検知可能なイベントの種類で、 画面の縦横の向きの変化を表します。 |
static int |
PITCH
計測データの種類を示す値で、端末の傾き(ピッチ角)を表します。 |
static int |
ROLL
計測データの種類を示す値で、端末の傾き(ロール角)を表します。 |
static int |
SCREEN_ORIENTATION
計測データの種類を示す値で、メインスクリーンの縦横の向きを表します。 |
メソッドの概要 | |
void |
disposeData()
周期計測用の蓄積バッファをクリアします。 |
static AccelerationSensor |
getAccelerationSensor()
加速度センサ機能のインスタンスを返します。 |
int[] |
getAvailableData()
実装がサポートしている計測データの種類を取得します。 |
int[] |
getAvailableEvent()
イベント検知機能
がサポートする検知イベントを返します。
|
AccelerationData |
getCurrentData()
現在の加速度を計測し、結果を取得します(ワンショット計測)。 |
AccelerationData |
getData()
周期計測用の蓄積データバッファから計測結果を取得します。 |
int |
getDataSize()
周期計測用の蓄積データバッファに蓄積されているデータ数を取得します。 |
int |
getIntervalResolution()
周期計測の計測間隔の解像度を取得します。 |
int |
getMaxDataSize()
周期計測において実装内部で蓄積可能な最大データ数を取得します。 |
int |
getMaxDataValue(int type)
計測データの最大値を取得します。 |
int |
getMinDataValue(int type)
計測データの最小値を取得します。 |
AccelerationData |
peekLatestData()
周期計測用の蓄積データバッファから最新の計測値を1つ取得します。 |
void |
setEventListener(AccelerationEventListener listener)
イベント検知機能で使用するイベントリスナーを設定します。 |
void |
start(int interval)
周期計測を開始します。 |
void |
startEventDetection(int event)
加速度センサ機能にイベント検知を依頼します。 |
void |
stop()
周期計測を停止します。 |
void |
stopEventDetection()
加速度センサ機能によるイベント検知を停止します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int ACCELERATION_X
public static final int ACCELERATION_Y
public static final int ACCELERATION_Z
public static final int ROLL
public static final int PITCH
public static final int SCREEN_ORIENTATION
public static final int EVENT_SCREEN_ORIENTATION
イベントが発生した場合、
リスナーのactionPerformedメソッド
が呼ばれます。
このとき、第1引数にこのフィールドの値が、
第2引数に画面の縦横の向きが渡されます。
[第2引数の説明]
メインスクリーンが地面と直交しており、
メインスクリーンの上部が上空方向にある場合、
すなわち、加速度(X, Y, Z)が(0, -1g, 0)である状態を基準とし、
加速度のZ軸を軸として、メインスクリーンに向かって端末を
時計回り方向に回転した角度で表します。
0度、90度、180度、270度のいずれかの値です。
startEventDetection(int)
,
定数フィールド値public static final int EVENT_DOUBLE_TAP
イベントが発生した場合、
リスナーのactionPerformedメソッド
が呼ばれます。
このとき、第1引数にこのフィールドの値が、
第2引数にダブルタップされた位置が渡されます。
[第2引数の説明]
端末のLCD面に向かい、ダブルタップ操作によりタップされた位置が渡されます。
渡される値は、DOUBLE_TAP_LEFT
、DOUBLE_TAP_RIGHT
、
DOUBLE_TAP_FRONT
、DOUBLE_TAP_BACK
のいずれかの値です。
startEventDetection(int)
,
定数フィールド値public static final int DOUBLE_TAP_LEFT
public static final int DOUBLE_TAP_RIGHT
public static final int DOUBLE_TAP_FRONT
public static final int DOUBLE_TAP_BACK
DOUBLE_TAP_RIGHT
縲