com.docomostar.system
クラス Pedometer

Object
  上位を拡張 com.docomostar.system.Pedometer

public final class Pedometer
extends Object
 [iアプリオプションAPI]

携帯電話のネイティブ歩数計を定義します。 この歩数計クラスによってネイティブ歩数計から歩数情報を取得します。

Star アプリケーションの起動有無に関わらず、ネイティブ歩数計は歩数情報を蓄積します。

免責事項:
ネイティブ歩数計から取得される歩数情報は、必ずしも正確ではありません。 あくまでも目安として活用してください。

導入されたバージョン:
Star-1.5

フィールドの概要
static int ATTR_PEDOMETER_OFF
          歩数計計測状態の属性値で、計測停止中(オフ)であることを表します(=0)。
static int ATTR_PEDOMETER_ON
          歩数計計測状態の属性値で、計測実施中(オン)であることを表します(=1)。
static int DEV_PEDOMETER
          歩数計の属性の種類で、計測状態を示します(=0)。
 
メソッドの概要
 int getAttribute(int attr)
          歩数計の属性値を取得します。
 int getCount()
          ネイティブが現在保持している歩数情報の個数を取得します。
 PedometerData[] getData()
          ネイティブが保持している、全ての歩数計の履歴情報を取得します。
 PedometerData[] getData(int index, int articles)
          ネイティブが保持している、歩数計の履歴情報をインデックスと個数を指定して取得します。
static Pedometer getPedometer()
          歩数計オブジェクトを取得します。
 PedometerData getTodayData()
          ネイティブが保持している、今日の歩数情報を取得します。
 int getTotalDistance()
          ネイティブが保持している歩数計の累積距離を取得します。
 int getTotalSteps()
          ネイティブが保持している歩数計の累積歩数を取得します。
 boolean start()
           ネイティブ歩数計による歩数の計測を開始します。
 boolean stop()
           ネイティブ歩数計による歩数の計測を停止します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEV_PEDOMETER

public static final int DEV_PEDOMETER
歩数計の属性の種類で、計測状態を示します(=0)。

関連項目:
getAttribute(int), 定数フィールド値

ATTR_PEDOMETER_OFF

public static final int ATTR_PEDOMETER_OFF
歩数計計測状態の属性値で、計測停止中(オフ)であることを表します(=0)。

計測停止中の場合、ネイティブ歩数計のカウントは行われません。

関連項目:
getAttribute(int), 定数フィールド値

ATTR_PEDOMETER_ON

public static final int ATTR_PEDOMETER_ON
歩数計計測状態の属性値で、計測実施中(オン)であることを表します(=1)。

関連項目:
getAttribute(int), 定数フィールド値
メソッドの詳細

getPedometer

public static Pedometer getPedometer()
歩数計オブジェクトを取得します。 このメソッドを複数回呼び出した場合、常に同じオブジェクトへの参照が返されます。

ADF に AccessUserInfo キーの指定が必要です。

戻り値:
歩数計オブジェクトを返します。
例外:
UnsupportedOperationException -
歩数計機能が未サポートの場合に発生します。
DeviceException -
(NO_RESOURCES)
ネイティブ歩数計を利用するためのリソースを確保できない場合に発生します。
SecurityException -
ADF に AccessUserInfo キーの指定がないアプリケーションが、 このメソッドを呼び出した場合に発生します。

getAttribute

public int getAttribute(int attr)
歩数計の属性値を取得します。存在しない属性の種類が指定された場合は、 -1 を返します。

パラメータ:
attr - 歩数計の属性の種類を指定します。
戻り値:
指定された属性の値を返します。

getCount

public int getCount()
ネイティブが現在保持している歩数情報の個数を取得します。 歩数情報の個数とは、1 日分を 1 個としてカウントした時の個数です。

このメソッド呼び出し時点の歩数計の計測状態が ATTR_PEDOMETER_OFF である時、 個数として 0 を返します。 その他のネイティブ独自のセキュリティ設定により、 歩数計の情報を取得できない場合も 0 を返します。

歩数計の計測状態が 1 日中 ATTR_PEDOMETER_OFF であった時、 歩数計測は行われません。その場合、その日の歩数情報は保持していないため、 個数にはカウントされません。

戻り値:
保持されている個数を返します。

getTotalSteps

public int getTotalSteps()
ネイティブが保持している歩数計の累積歩数を取得します。 当日分の情報を加算するため、このメソッドを複数回呼び出した場合、 呼び出す度に異なる値が返される可能性があります。

このメソッド呼び出し時点の歩数計の計測状態が ATTR_PEDOMETER_OFF である時、 累積歩数として 0 を返します。 その他のネイティブ独自のセキュリティ設定により、 歩数計の情報を取得できない場合も 0 を返します。

戻り値:
歩数計の累積歩数を返します。

getTotalDistance

public int getTotalDistance()
ネイティブが保持している歩数計の累積距離を取得します。 当日分の情報を加算するため、このメソッドを複数回呼び出した場合、 呼び出す度に異なる値が返される可能性があります。

このメソッド呼び出し時点の歩数計の計測状態が ATTR_PEDOMETER_OFF である時、 累積距離として 0 を返します。 その他のネイティブ独自のセキュリティ設定により、 歩数計の情報を取得できない場合も 0 を返します。

戻り値:
メートルに換算した歩数計の累積距離を返します。

getTodayData

public PedometerData getTodayData()
ネイティブが保持している、今日の歩数情報を取得します。

ネイティブ歩数計の情報は常に更新されるため、このメソッドを複数回呼び出した場合、 呼び出す度に最新の歩数情報が設定された新しい歩数情報オブジェクトが生成され、 そのオブジェクトへの参照が返されます。

ネイティブが保持する年月日はネイティブ歩数計で管理しているタイムゾーンに依存します。 歩数情報を保持する1日の開始時刻は、ネイティブ歩数計で管理しているタイムゾーンの 00:00:00 です。

このメソッド呼び出し時点の歩数計の計測状態が ATTR_PEDOMETER_OFF である時、 例外 SecurityException が発生します。

戻り値:
歩数情報オブジェクトを返します。
例外:
SecurityException -
ネイティブ独自のセキュリティ設定により、 ネイティブ歩数計の情報を取得できない場合に発生します。 ネイティブ歩数計の利用設定の状態がオフである場合も含みます。

getData

public PedometerData[] getData()
ネイティブが保持している、全ての歩数計の履歴情報を取得します。 呼び出された日(当日分も含め)から過去に向かってオブジェクトがソートされます。 返却されるオブジェクトの個数は、getCount() の個数と等しくなります。

このメソッドを複数回呼び出した場合、呼び出す度に新しい配列が生成され、 その配列への参照が返されます。 また、ネイティブ歩数計の情報は常に更新されるため、 当日分の歩数情報に関しては呼び出す度に最新の歩数情報が設定された新しいオブジェクトが生成され、 そのオブジェクトへの参照が配列に格納されます。

このメソッド呼び出し時点の歩数計の計測状態が ATTR_PEDOMETER_OFF である時、 例外 SecurityException が発生します。

戻り値:
歩数情報オブジェクトの配列を返します。
例外:
SecurityException -
ネイティブ独自のセキュリティ設定により、 ネイティブ歩数計の情報を取得できない場合に発生します。 ネイティブ歩数計の利用設定の状態がオフである場合も含みます。

getData

public PedometerData[] getData(int index,
                               int articles)
ネイティブが保持している、歩数計の履歴情報をインデックスと個数を指定して取得します。 指定されたインデックス(これを含む)から過去に向かってオブジェクトがソートされます。 返却されるオブジェクトの個数は、指定された個数と等しくなります。
例)今日から過去 2 日分(今日と昨日)の歩数情報を取得する場合は getData(0, 2); を呼び出す。 (※前提としてネイティブが今日と昨日の履歴情報を保持していること)

このメソッドを複数回呼び出した場合、呼び出す度に新しい配列が生成され、 その配列への参照が返されます。 また、ネイティブ歩数計の情報は常に更新されるため、 当日分の歩数情報に関しては呼び出す度に最新の歩数情報が設定された新しいオブジェクトが生成され、 そのオブジェクトへの参照が配列に格納されます。

このメソッド呼び出し時点の歩数計の計測状態が ATTR_PEDOMETER_OFF である時、 例外 SecurityException が発生します。

パラメータ:
index - 最新(今日)から見て何個前(何日前)かを指定します。
articles - index から見て過去何個分(過去何日分)を取得するかを指定します。
戻り値:
歩数情報オブジェクトの配列を返します。
例外:
SecurityException -
ネイティブ独自のセキュリティ設定により、 ネイティブ歩数計の情報を取得できない場合に発生します。 ネイティブ歩数計の利用設定の状態がオフである場合も含みます。
IllegalArgumentException -
引数 index が 負の場合に発生します。
IllegalArgumentException -
引数 articles が 0 以下の場合に発生します。
IllegalArgumentException -
引数 index + articles が、 ネイティブが現在保持している歩数情報の個数を超過する場合に発生します。

start

public boolean start()

ネイティブ歩数計による歩数の計測を開始します。

このメソッドが呼び出されると、この Star アプリはサスペンドしユーザ確認のダイアログが表示されます。
ユーザ操作によって許可された場合、ネイティブ歩数計は計測を開始し、 このメソッドの戻り値として true を返します。 キャンセルされた場合は、計測は開始されず、戻り値として false を返します。
ユーザ操作によりダイアログが閉じられると、この Star アプリはレジュームします。

計測状態が計測実施中の状態でこのメソッドを呼び出した場合、 ユーザ確認のダイアログは表示されず、戻り値として true を返します。 ネイティブ歩数計の現在の計測状態は、getAttribute(DEV_PEDOMETER) により取得することができます。

このメソッドによって制御したネイティブ歩数計の計測状態は、Star アプリが終了した後も継続されます。

戻り値:
計測を開始することに成功した場合 true を、失敗した場合 false を返します。
導入されたバージョン:
Star-2.0
例外:
IllegalStateException -
ミニアプリ実行時の Focused または Unfocused 状態で呼び出された場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、計測を開始できない場合に発生します。

stop

public boolean stop()

ネイティブ歩数計による歩数の計測を停止します。

このメソッドが呼び出されると、この Star アプリはサスペンドしユーザ確認のダイアログが表示されます。
ユーザ操作によって許可された場合、ネイティブ歩数計は計測を停止し、 このメソッドの戻り値として true を返します。 キャンセルされた場合は、計測は停止されず、戻り値として false を返します。
ユーザ操作によりダイアログが閉じられると、この Star アプリはレジュームします。

計測状態が計測停止中の状態でこのメソッドを呼び出した場合、 ユーザ確認のダイアログは表示されず、戻り値として true を返します。 ネイティブ歩数計の現在の計測状態は、getAttribute(DEV_PEDOMETER) により取得することができます。

このメソッドによって制御したネイティブ歩数計の計測状態は、Star アプリが終了した後も継続されます。

戻り値:
計測を停止することに成功した場合 true を、失敗した場合 false を返します。
導入されたバージョン:
Star-2.0
例外:
IllegalStateException -
ミニアプリ実行時の Focused または Unfocused 状態で呼び出された場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、計測を停止できない場合に発生します。