DX・デジタルトランスフォーメーション

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版

ブロックチェーン・暗号技術 | android | iOS | Web | アプリの著作権 | 日本のなりたち | 禅・大乗仏教 | 新しい社会

androidとiOSの歩数計(ステップカウンタ)実装方法の違い

歩数計は2017年現在、ほとんどのスマホに実装されている。

実装される前は、加速度センサーを歩数計の代わりに用いていたために、電池の消耗が激しく使い物にはならなかった。

2013年に発売されたスマホ機種から実装が始まっている。

iPhoneでは歩数をOSレベルで日次で集計しデータベース化してくれるが、androidは歩数を検知するのみで集計まではしてくれないため、日毎の集計はアプリが行う必要がある。

iOS

・歩数計ハードウェア実装はiPhone5S以降の機種のみ

・日付を指定して取得できる

objectivec

CMPedometer *mPedometer = [[CMPedometer alloc] init];

if ([CMPedometer isStepCountingAvailable]) {

[mPedometer queryPedometerDataFromDate:fetchStartDate toDate:fetchEndDate withHandler:^(CMPedometerData *data, NSError *error) {

// 歩数

NSNumber *steps = data.numberOfSteps;

}];

}

android

・Fujitsu ARROWSなどの低価格機種には歩数計が実装されていない

・SensorEventListener をサービスとして別プロセスで実行させる必要がある

・歩数は累積値だけしかわからないので、日毎の歩数はアプリが計算して求める必要がある

・日付指定の歩数を取得できない

Intent serviceIntent = new Intent(context, StepCounterService.class);context.startService(serviceIntent);public class StepCounterService extends Service implements SensorEventListener {@Override
public void onCreate() {  // API19(Android 4.4)以上  if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {    // 歩数を取得    SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
    Sensor mSensorStepCounter = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);    // リスナー設定    mSensorManager.registerListener (this, mSensorStepCounter, SensorManager.SENSOR_DELAY_NORMAL);  }}// 歩数を検知したときコールされるメソッド@Overridepublic void onSensorChanged(SensorEvent sensorEvent) {  float[] values = sensorEvent.values;  // Sensorを最初に起動してからの累積値  long mTimestamp = sensorEvent.timestamp;  // Sensorを最初に起動してからの経過ナノ秒値  int mStepCount = (int)values[0];  // Sensorを最初に起動してからの累積歩数
}}

2023年12月
     12
3456789
10111213141516
17181920212223
24252627282930
31      
android
iOS
web
?スA?スv?ス?ス?スフ抵ソス?ス??
?スu?ス?ス?スb?スN?ス`?スF?ス[?ス?ス?ス^?ステ搾ソス?スZ?スp
?スV?ス?ス?ス?ス?スミ会ソス
?スT?スE?ス?ス謨ァ?ス?ス
?ス?ス?ス{?スフなりた?ス?ス

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版
デジタルトランスフォーメーションで新しい生活を提案!