com.docomostar.system
クラス PedometerData

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

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

1 日分の歩数計のデータを表します。 ここで言う「1日分」とは、ネイティブ歩数計で管理しているタイムゾーンにおいて、当該日付の 00:00:00(00時00分00秒) から 24:00:00 の時間帯を指し、 00:00:00 の瞬間は含み、24:00:00 の瞬間は含まないものとします。

歩数計のデータは、次の歩数情報で構成されています。

これらの歩数情報はそれぞれ内部的に、00:00:00 から getInterval() 秒ごとの値を配列(以降では、 この配列のことを内部配列と呼びます)として保持しています。 具体的には、配列の第 n 要素には、 (t * n) 秒後から (t * (n + 1)) 秒後までの歩数情報が格納されています。 ここで、t は getInterval() の戻り値とし、 各時間帯の右端 ((t * (n + 1))秒後の瞬間) は含まないものとします。
例えば、t = 3600(1時間)である場合は、以下のようになります。

以降では、内部配列の第 n 要素における、 歩数情報の計測対象となっている時間帯のことを、 単純に、内部配列の第 n 要素における計測対象時間帯 と呼ぶことにします。上記の例では、 内部配列の第1要素における計測対象時間帯は 「01:00:00 から 02:00:00 まで(02:00:00 は含まない)」 となります。

このクラスでは次の値を取得することができます。

1日分の歩数情報の値
1日分の歩数情報の値は、内部配列の全ての要素の総和になります。
指定した時間帯の歩数情報の値
[図] 指定した時間帯の歩数情報の計算方法 指定した時間帯の歩数情報の値は、次のように計算されます。

  1. 内部配列の各要素のうち、 その計測対象時間帯全体が、 指定した時間帯に含まれるものを列挙します。 その結果、内部配列の第 b 要素から 第 e 要素までが列挙されたこととします。
  2. 内部配列の第 (b - 1) 要素が存在する場合、 その要素の計測対象時間帯が、一部だけでも、 指定した時間帯に含まれるかどうかを調べます。 含まれる場合、その要素の値を Eb とします。 含まれない場合や、当該要素が存在しない場合は、Eb は0とします。
  3. 以下の総和を取ったものが、指定した時間帯の歩数情報の値になります。
    • 内部配列の第 b 要素から 第 e 要素までの値の総和
    • Eb の値

ここで指定した時間帯は、 左端(時刻 time)を含み、右端(time の range 秒後の時刻)を含みません。 指定する時間帯は、ネイティブ歩数計で管理しているタイムゾーンにおいて、日付をまたがってはいけません。 そのような時間帯を指定された場合は、 日付をまたがる直前までの時間帯が指定されたものとみなされます。
左端(時刻 time)に指定する Calendar オブジェクトのタイムゾーン ID は、 getCalendar() で取得した Calendar オブジェクトのタイムゾーン ID と一致しなければなりません。
指定された時間帯において、 ネイティブ歩数計の利用設定の状態がずっとオフであった場合、 値は 0 となります。
周期ごとの歩数情報の値
このオブジェクトが保持している1日分の歩数情報を 00:00:00 から指定された周期 [秒] ごとに区切った値を配列として取得します。 例えば、1時間ごとの歩数情報を取得する場合は、周期に 3600 [秒] を指定します。
周期に指定する値は、getInterval() の倍数を指定するようにしてください。 そうでない値を周期に指定した場合には、 配列の各要素に格納される値が不均一なってしまうので注意が必要です。

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

メソッドの概要
 int getAerobicsTime()
          有酸素運動の歩行が行われた 1 日分の累計時間を返します。
 int getAerobicsTime(java.util.Calendar time, int range)
          引数で指定した時間帯における有酸素運動が行われた時間の合計を返します。
 int[] getAerobicsTime(int cycle)
          引数で指定した周期ごとの有酸素運動が行われた時間を配列として返します。
 int getAmountOfCombustionFat()
          歩行により燃焼された 1 日分の脂肪量を返します。
 int getAmountOfCombustionFat(java.util.Calendar time, int range)
          引数で指定した時間帯における燃焼脂肪量の合計を返します。
 int[] getAmountOfCombustionFat(int cycle)
          引数で指定した周期ごとの燃焼脂肪量を配列として返します。
 java.util.Calendar getCalendar()
          このオブジェクトの持つ日付(タイムゾーンを含む)の Calendar オブジェクトを取得します。
 int getConsumptionCalorie()
          歩行により消費された、 1 日分のカロリーを返します。
 int getConsumptionCalorie(java.util.Calendar time, int range)
          引数で指定した時間帯における消費カロリーの合計を返します。
 int[] getConsumptionCalorie(int cycle)
          引数で指定した周期ごとの消費カロリーを配列として返します。
 int getDistance()
          1 日分の歩行距離を返します。
 int getDistance(java.util.Calendar time, int range)
          引数で指定した時間帯における歩行距離の合計を返します。
 int[] getDistance(int cycle)
          引数で指定した周期ごとの歩行距離を配列として返します。
 int getInterval()
           このオブジェクトが保持している歩数情報の周期(時間間隔) [秒] を取得します。
 int getNumberOfAerobicsSteps()
          有酸素運動の歩行が行われた場合の 1 日分の歩数を返します。
 int getNumberOfAerobicsSteps(java.util.Calendar time, int range)
          引数で指定した時間帯における有酸素運動が行われた場合の歩数の合計を返します。
 int[] getNumberOfAerobicsSteps(int cycle)
          引数で指定した周期ごとの有酸素運動が行われた場合の歩数を配列として返します。
 int getNumberOfSteps()
          カウントした 1 日分の歩数を返します。
 int getNumberOfSteps(java.util.Calendar time, int range)
          引数で指定した時間帯における歩数の合計を返します。
 int[] getNumberOfSteps(int cycle)
          引数で指定した周期ごとの歩数を配列として返します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getCalendar

public java.util.Calendar getCalendar()
このオブジェクトの持つ日付(タイムゾーンを含む)の Calendar オブジェクトを取得します。

Calendar オブジェクトは、 ネイティブ歩数計で管理しているタイムゾーンと年月日の 00:00:00 を日時として生成されます。

このメソッドを複数回呼び出した場合、 呼び出す度に新しい Calendar インスタンスが生成され、 そのインスタンスへの参照が返されます。

戻り値:
このオブジェクトの持つ日付(タイムゾーンを含む)を表す Calendar オブジェクトを返します。

getNumberOfSteps

public int getNumberOfSteps()
カウントした 1 日分の歩数を返します。

戻り値:
歩数を返します。

getNumberOfSteps

public int getNumberOfSteps(java.util.Calendar time,
                            int range)
引数で指定した時間帯における歩数の合計を返します。

パラメータ:
time - 歩数の合計を開始する時刻を指定します。 指定された Calendar オブジェクトの日付部分は無視されます。
range - 歩数の合計を行う範囲を秒単位で指定します。 getInterval() より小さい値を指定することはできません。
戻り値:
時刻 time からはじまり、その range 秒後までの時間帯(ただし 時刻 time の range 秒後の瞬間は含みません)における、 歩数の合計を返します。
例外:
NullPointerException -
引数 time に null が指定された場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、 システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。
IllegalArgumentException -
引数 time に含まれるタイムゾーン ID が、 getCalendar() で取得した Calendar オブジェクトのタイムゾーン ID と一致しない場合に発生します。
IllegalArgumentException -
引数 range が getInterval() よりも小さい場合に発生します。

getNumberOfSteps

public int[] getNumberOfSteps(int cycle)
引数で指定した周期ごとの歩数を配列として返します。

パラメータ:
cycle - 周期を秒単位で指定します。 getInterval() よりも小さい値を指定することはできません。
戻り値:
指定された周期ごとの歩数の配列を返します。 このメソッドを呼び出す度に新しく生成した配列を返します。
例外:
IllegalArgumentException -
引数 cycle が getInterval() よりも小さい場合に発生します。

getDistance

public int getDistance()
1 日分の歩行距離を返します。

戻り値:
メートルに換算した歩行距離を返します。

getDistance

public int getDistance(java.util.Calendar time,
                       int range)
引数で指定した時間帯における歩行距離の合計を返します。

パラメータ:
time - 歩行距離の合計を開始する時刻を指定します。 指定された Calendar オブジェクトの日付部分は無視されます。
range - 歩行距離の合計を行う範囲を秒単位で指定します。 getInterval() より小さい値を指定することはできません。
戻り値:
時刻 time からはじまり、その range 秒後までの時間帯(ただし 時刻 time の range 秒後の瞬間は含みません)における、 歩行距離の合計を返します。
例外:
NullPointerException -
引数 time に null が指定された場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、 システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。
IllegalArgumentException -
引数 time に含まれるタイムゾーン ID が、 getCalendar() で取得した Calendar オブジェクトのタイムゾーン ID と一致しない場合に発生します。
IllegalArgumentException -
引数 range が getInterval() よりも小さい場合に発生します。

getDistance

public int[] getDistance(int cycle)
引数で指定した周期ごとの歩行距離を配列として返します。

パラメータ:
cycle - 周期を秒単位で指定します。 getInterval() よりも小さい値を指定することはできません。
戻り値:
指定された周期ごとの歩行距離の配列を返します。 このメソッドを呼び出す度に新しく生成した配列を返します。
例外:
IllegalArgumentException -
引数 cycle が getInterval() よりも小さい場合に発生します。

getNumberOfAerobicsSteps

public int getNumberOfAerobicsSteps()
有酸素運動の歩行が行われた場合の 1 日分の歩数を返します。

戻り値:
有酸素運動が行われた歩数を返します。

getNumberOfAerobicsSteps

public int getNumberOfAerobicsSteps(java.util.Calendar time,
                                    int range)
引数で指定した時間帯における有酸素運動が行われた場合の歩数の合計を返します。

パラメータ:
time - 歩数の合計を開始する時刻を指定します。 指定された Calendar オブジェクトの日付部分は無視されます。
range - 歩数の合計を行う範囲を秒単位で指定します。 getInterval() より小さい値を指定することはできません。
戻り値:
時刻 time からはじまり、その range 秒後までの時間帯(ただし 時刻 time の range 秒後の瞬間は含みません)における、 有酸素運動が行われた場合の歩数の合計を返します。
例外:
NullPointerException -
引数 time に null が指定された場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、 システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。
IllegalArgumentException -
引数 time に含まれるタイムゾーン ID が、 getCalendar() で取得した Calendar オブジェクトのタイムゾーン ID と一致しない場合に発生します。
IllegalArgumentException -
引数 range が getInterval() よりも小さい場合に発生します。

getNumberOfAerobicsSteps

public int[] getNumberOfAerobicsSteps(int cycle)
引数で指定した周期ごとの有酸素運動が行われた場合の歩数を配列として返します。

パラメータ:
cycle - 周期を秒単位で指定します。 getInterval() よりも小さい値を指定することはできません。
戻り値:
指定された周期ごとの有酸素運動が行われた場合の歩数の配列を返します。 このメソッドを呼び出す度に新しく生成した配列を返します。
例外:
IllegalArgumentException -
引数 cycle が getInterval() よりも小さい場合に発生します。

getAerobicsTime

public int getAerobicsTime()
有酸素運動の歩行が行われた 1 日分の累計時間を返します。

戻り値:
分に換算した、有酸素運動が行われた時間を返します。

getAerobicsTime

public int getAerobicsTime(java.util.Calendar time,
                           int range)
引数で指定した時間帯における有酸素運動が行われた時間の合計を返します。

パラメータ:
time - 有酸素運動が行われた時間の合計を開始する時刻を指定します。 指定された Calendar オブジェクトの日付部分は無視されます。
range - 有酸素運動が行われた時間の合計を行う範囲を秒単位で指定します。 getInterval() より小さい値を指定することはできません。
戻り値:
時刻 time からはじまり、その range 秒後までの時間帯(ただし 時刻 time の range 秒後の瞬間は含みません)における、 有酸素運動が行われた時間の合計を返します。
例外:
NullPointerException -
引数 time に null が指定された場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、 システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。
IllegalArgumentException -
引数 time に含まれるタイムゾーン ID が、 getCalendar() で取得した Calendar オブジェクトのタイムゾーン ID と一致しない場合に発生します。
IllegalArgumentException -
引数 range が getInterval() よりも小さい場合に発生します。

getAerobicsTime

public int[] getAerobicsTime(int cycle)
引数で指定した周期ごとの有酸素運動が行われた時間を配列として返します。

パラメータ:
cycle - 周期を秒単位で指定します。 getInterval() よりも小さい値を指定することはできません。
戻り値:
指定された周期ごとの有酸素運動が行われた時間の配列を返します。 このメソッドを呼び出す度に新しく生成した配列を返します。
例外:
IllegalArgumentException -
引数 cycle が getInterval() よりも小さい場合に発生します。

getConsumptionCalorie

public int getConsumptionCalorie()
歩行により消費された、 1 日分のカロリーを返します。

戻り値:
Kcalに換算した消費カロリーを返します。

getConsumptionCalorie

public int getConsumptionCalorie(java.util.Calendar time,
                                 int range)
引数で指定した時間帯における消費カロリーの合計を返します。

パラメータ:
time - 消費カロリーの合計を開始する時刻を指定します。 指定された Calendar オブジェクトの日付部分は無視されます。
range - 消費カロリーの合計を行う範囲を秒単位で指定します。 getInterval() より小さい値を指定することはできません。
戻り値:
時刻 time からはじまり、その range 秒後までの時間帯(ただし 時刻 time の range 秒後の瞬間は含みません)における、 消費カロリーの合計を返します。
例外:
NullPointerException -
引数 time に null が指定された場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、 システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。
IllegalArgumentException -
引数 time に含まれるタイムゾーン ID が、 getCalendar() で取得した Calendar オブジェクトのタイムゾーン ID と一致しない場合に発生します。
IllegalArgumentException -
引数 range が getInterval() よりも小さい場合に発生します。

getConsumptionCalorie

public int[] getConsumptionCalorie(int cycle)
引数で指定した周期ごとの消費カロリーを配列として返します。

パラメータ:
cycle - 周期を秒単位で指定します。 getInterval() よりも小さい値を指定することはできません。
戻り値:
指定された周期ごとの消費カロリーの配列を返します。 このメソッドを呼び出す度に新しく生成した配列を返します。
例外:
IllegalArgumentException -
引数 cycle が getInterval() よりも小さい場合に発生します。

getAmountOfCombustionFat

public int getAmountOfCombustionFat()
歩行により燃焼された 1 日分の脂肪量を返します。

戻り値:
グラムに換算した燃焼脂肪量を返します。

getAmountOfCombustionFat

public int getAmountOfCombustionFat(java.util.Calendar time,
                                    int range)
引数で指定した時間帯における燃焼脂肪量の合計を返します。

パラメータ:
time - 燃焼脂肪量の合計を開始する時刻を指定します。 指定された Calendar オブジェクトの日付部分は無視されます。
range - 燃焼脂肪量の合計を行う範囲を秒単位で指定します。 getInterval() より小さい値を指定することはできません。
戻り値:
時刻 time からはじまり、その range 秒後までの時間帯(ただし 時刻 time の range 秒後の瞬間は含みません)における、 燃焼脂肪量の合計を返します。
例外:
NullPointerException -
引数 time に null が指定された場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、 システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。
IllegalArgumentException -
引数 time に含まれるタイムゾーン ID が、 getCalendar() で取得した Calendar オブジェクトのタイムゾーン ID と一致しない場合に発生します。
IllegalArgumentException -
引数 range が getInterval() よりも小さい場合に発生します。

getAmountOfCombustionFat

public int[] getAmountOfCombustionFat(int cycle)
引数で指定した周期ごとの燃焼脂肪量を配列として返します。

パラメータ:
cycle - 周期を秒単位で指定します。 getInterval() よりも小さい値を指定することはできません。
戻り値:
指定された周期ごとの燃焼脂肪量の配列を返します。 このメソッドを呼び出す度に新しく生成した配列を返します。
例外:
IllegalArgumentException -
引数 cycle が getInterval() よりも小さい場合に発生します。

getInterval

public int getInterval()

このオブジェクトが保持している歩数情報の周期(時間間隔) [秒] を取得します。
例えば、(1日分の歩数情報を)1分周期で保持している場合には、 60 [秒]が返ります。 1時間周期の場合には3600 [秒]が返ります。

86400 [秒](1日間の秒数)を、このメソッドの戻り値で割り算することで、 内部配列の要素数がわかります。

周期は実装によって異なります。 また、 このオブジェクトが何日前のデータを保持しているかによっても周期が異なる可能性があります。
たとえば、今日を含めて2日間は1分周期で情報を保持しているが、 3日前以前については 1時間周期の情報を保持する実装の場合は、 今日を含めた2日間は60が返され、 3日前以前については3600(1時間の秒数)が返されることになります。

戻り値:
このオブジェクトが保持している歩数情報の周期(時間間隔)を、 秒単位で返します。


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ドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。