ios 計步器的簡單實現

來源:互聯網
上載者:User

標籤:移動技術   加速器   計步器   加速度   

隨著人們生活水平的提高,加上移動技術的快速發展,越來越多的軟體進軍健康行業,計步器是用來記錄個人運動的一項很好的技術。這段時間出於對這一技術的好奇,瞭解學習了一下計步器的實現過程。


計步器的實現有兩種方式,(1),直接調用HealthKit架構擷取蘋果的健康應用資料.(2)速度感應器動作感應器\加速度感應器\加速器(Motion/Accelerometer Sensor)


(1)HealthKit這種方式簡單粗暴,但是也有相應的弊端,這個架構擷取到的資料好像是1小時一更新,如果你的軟體是想要擷取到即時資料的話,這種方式的實現不是最佳選擇。

(2)基於CoreMotion架構,先來瞭解一下幾種感應器

動作感應器\加速度感應器\加速計(Motion/Accelerometer Sensor)環境光線感應器(Ambient Light Sensor)距離感應器(Proximity Sensor)磁力計感應器(Magnetometer Sensor)內部溫度感應器(Internal Temperature Sensor)濕度感應器(Moisture Sensor)陀螺儀(Gyroscope)

在iOS8及其以上系統中我們可以使用CMPedometer類擷取行走相關資訊(步數、距離、上樓、下樓、當前速度等)。

當前裝置是否可以擷取步數
+ (BOOL)isStepCountingAvailable;

當前裝置是否可以擷取距離
+ (BOOL)isDistanceAvailable;

當前裝置是否可以擷取上下樓層數
+ (BOOL)isFloorCountingAvailable;

當前裝置是否可以擷取速度(s/m)
+ (BOOL)isPaceAvailable

當前裝置是否可以擷取節奏
+ (BOOL)isCadenceAvailable

根據開始和結束時間查詢行走相關資訊
- (void)queryPedometerDataFromDate:(NSDate )start toDate:(NSDate )end withHandler:(CMPedometerHandler)handler;

從某一時刻開始監測步數變化
- (void)startPedometerUpdatesFromDate:(NSDate *)start withHandler:(CMPedometerHandler)handler;

停止監測步數變化
- (void)stopPedometerUpdates;

把相應的的方法最好放在一個單例裡面,利用單例裡面對應的方法我們就能擷取到自己想要擷取到的資料了。

ios 計步器的簡單實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.