|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.docomostar.device.location.WalkingNavigation
public class WalkingNavigation
歩行方位取得機能を提供するクラスです。 このクラスでは、簡易的な自律航法を行うために各種デバイスの計測結果を一括した情報(歩行情報)を取得できます。
歩行情報の計測は、 歩行(ネイティブ歩数計で一歩がカウントされたこと)が検知された契機で計測を行う歩行検知計測と、 歩行を検知したかどうかに関わらず現在の歩行情報が取得できるワンショット計測があります。
計測する方向を PhoneSystem.DEV_EYE_DIRECTION
で設定しておくことで、
Star アプリはユーザの視線の方向が反映された方位角を取得できます。
PhoneSystem.DEV_EYE_DIRECTION
の設定は、
歩行検知計測とワンショット計測の両方で有効です。
計測結果は、WalkingNavigationData オブジェクトを介して取得できます。
WalkingNavigationData オブジェクトは
歩行検知計測(全データ)
用、
歩行検知計測(最新データ)
用、
ワンショット計測
用に各 1 つずつ生成され、
計測結果は各オブジェクトが保持する配列に格納されます。
ワンショット計測は、getCurrentData()
メソッドを呼び出した時点でのネイティブ歩数計が保持している情報と端末の向きの方位角を取得することができます。
歩行検知計測中であっても、ワンショット計測が可能です。
歩行検知計測は、start()
メソッドを呼び出すと、
歩行の検知を開始し、
歩行を検知する度にその時点でのネイティブ歩数計が保持している情報とユーザの視線の方向が反映された端末の向きの方位角がバッファに蓄積されていきます。
歩行検知計測を停止するには、 stop()
メソッドを呼び出します。
歩行検知計測中は、ユーザの視線の方向を設定することはできません。 ユーザの視線方向を再設定する前には、 歩行検知計測を停止し、 バッファからデータを取得しておいて下さい。
[Star-2.0 以降]
歩行検知計測中に Pedometer.stop()
によってネイティブ歩数計による歩数の計測を停止した場合、
歩行検知計測も停止されてしまうことに注意してください。
メソッドの概要 | |
---|---|
void |
disposeData()
歩行検知計測用の蓄積バッファをクリアします。 |
WalkingNavigationData |
getCurrentData()
現在の歩行情報を取得します(ワンショット計測)。 |
WalkingNavigationData |
getData()
歩行検知計測用の蓄積データバッファから計測結果を取得します。 |
int |
getDataSize()
歩行検知計測用の蓄積データバッファに蓄積されているデータ数を取得します。 |
int |
getMaxDataSize()
歩行検知計測において実装内部で蓄積可能な最大データ数を取得します。 |
static WalkingNavigation |
getWalkingNavigation()
歩行方位取得機能のインスタンスを取得します。 |
WalkingNavigationData |
peekLatestData()
歩行検知計測用の蓄積データバッファから最新の計測値を1つ取得します。 |
void |
start()
歩行検知計測を開始します。 |
void |
stop()
歩行検知計測を停止します。 |
クラス Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
---|
public static WalkingNavigation getWalkingNavigation()
歩行方位取得機能のインスタンスを取得します。 複数回呼び出された場合は、常に同じインスタンスを返します。
初期状態では、歩行方位取得機能の歩行検知計測は停止状態です。
インスタンスを取得するには、ADF に AccessUserInfo キーの指定が必要です。
実装によっては、歩行方位取得機能をサポートしていない場合があります。
UnsupportedOperationException
-
DeviceException
- SecurityException
-
public void start()
計測結果はネイティブ歩数計が一歩をカウントする度に、
実装内部の計測結果蓄積バッファに蓄積されていきます。
蓄積可能な最大データ数は、
getMaxDataSize()
により取得できます。
最大データ数を超えると、蓄積されたデータの
古いものから上書きします。
計測結果は、getData()
により、
歩行検知計測中および歩行検知計測後に取得できます。
蓄積された計測結果は、
またdisposeData()
、
getData()
を呼び出した場合、
アプリケーションを終了した場合にクリアされます。
歩行検知計測中にサスペンドが発生しても、計測は継続します。
getCurrentData()
メソッド呼び出し中に
別のスレッドからこのメソッドが呼び出された場合、
getCurrentData()
呼び出し終了までこの
メソッドの実行は遅延されます。
本メソッドの実行に成功すると、 歩行検知計測用の蓄積バッファはクリアされます。
歩行検知計測を停止させるためには、
stop()
メソッドを使用します。
サスペンド時に計測を継続している場合も含めて、
アプリケーションが終了すると計測は停止します。
アプリケーションの終了以外の理由で歩行検知計測が停止した場合、
StarEventObject.STAR_WALKING_NAVIGATION_STOPPED
イベントが発生します。
DeviceException
- DeviceException
- DeviceException
- SecurityException
-
public void stop()
歩行検知計測中以外に呼ばれた場合、何もしません。
public int getMaxDataSize()
歩行検知計測は、最大データ数を超えると蓄積されたデータの 古いものから上書きします。
public int getDataSize()
public WalkingNavigationData getData()
WalkingNavigationData オブジェクトが保持する配列の値を、
蓄積バッファに蓄積されている全計測データで上書きします。
その後、この WalkingNavigationData オブジェクトへの参照を返します。
常に同じオブジェクトへの参照を返します。
返されるオブジェクトは
peekLatestData()
、
getCurrentData()
とは異なります。
本メソッドの実行に成功すると、 歩行検知計測用の蓄積バッファはクリアされます。
歩行検知計測中に計測結果を取得した場合でも、計測を継続します。
蓄積バッファに計測データが 1 つも蓄積されていない時にこのメソッドを呼び出した場合、
返される WalkingNavigationData オブジェクトの
計測データ数
は 0 になります。
public WalkingNavigationData peekLatestData()
WalkingNavigationData オブジェクトが保持する配列の値を、
蓄積バッファに蓄積されている最新の計測データ 1 つで上書きします。
その後、この WalkingNavigationData オブジェクトへの参照を返します。
常に同じオブジェクトへの参照を返します。
返されるオブジェクトは
getData()
、
getCurrentData()
とは異なります。
本メソッドの実行に成功しても、 歩行検知計測用の蓄積バッファはクリアされません。
蓄積バッファに計測データが 1 つも蓄積されていない時にこのメソッドを呼び出した場合、
返される WalkingNavigationData オブジェクトの
計測データ数
は 0 になります。
public void disposeData()
public WalkingNavigationData getCurrentData()
このメソッドを呼び出すと、
その時点におけるネイティブ歩数計が保持している情報と端末の向きの方位角が、
ワンショット計測用の WalkingNavigationData オブジェクトに上書きされます。
その後、この WalkingNavigationData オブジェクトへの参照を返します。
常に同じオブジェクトへの参照を返します。
返されるオブジェクトは、
getData()
,
peekLatestData()
とは異なります。
このメソッドによる計測結果は、蓄積バッファには蓄積されません。 また、このメソッドを呼び出すことによって、 蓄積バッファに存在するデータがクリアされることはありません。
DeviceException
- DeviceException
- SecurityException
-
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。