码迷,mamicode.com
首页 > 移动开发 > 详细

ios 计步器的简单实现

时间:2017-04-07 11:18:43      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:移动技术   加速器   计步器   加速度   

随着人们生活水平的提高,加上移动技术的快速发展,越来越多的软件进军健康行业,计步器是用来记录个人运动的一项很好的技术。这段时间出于对这一技术的好奇,了解学习了一下计步器的实现过程。


计步器的实现有两种方式,(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 计步器的简单实现

标签:移动技术   加速器   计步器   加速度   

原文地址:http://itzhongxin.blog.51cto.com/12734415/1913695

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!