AWARE: 步数计
步数计传感器使我们能够管理由 CMPedometer 提供的历史步数计数据。步数计对象包含步数和其他有关行进距离和上升或下降楼层数的信息。
要求
iOS 10 或更高版本
安装
com.awareframework.ios.sensor.pedometer 通过 CocoaPods 可用。
- 要安装它,只需将以下行添加到您的 Podfile 中:
pod 'com.awareframework.ios.sensor.pedometer'- 将 com.awareframework.ios.sensor.pedometer 库导入到您的源代码中。
import com_awareframework_ios_sensor_pedometer- 在 Info.plist 中添加对
NSMotionUsageDescription的描述。
公共函数
计步传感器
init(config:PedometerSensor.Config?): 初始化计步传感器,可选配置。start(): 使用可选配置启动计步传感器。stop(): 停止服务。
计步传感器.Config
用于保存传感器配置的类。
字段
sensorObserver: PedometerObserver: 实时数据更新的回调。interval : Int样本采样时间(分钟)。(默认 = 10)enabled: Boolean传感器是否启用。 (默认 =false)debug: Boolean启用/禁用向Xcode控制台记录日志。 (默认 =false)label: String数据的标签。 (默认 = "")deviceId: String将关联事件和传感器的设备的ID。 (默认 = "")dbEncryptionKey数据库的加密密钥。 (默认 =null)dbType: Engine要用于保存数据的哪个数据库引擎。 (默认 =Engine.DatabaseType.NONE)dbPath: String数据库的路径。 (默认 = "aware_pedometer")dbHost: String同步数据库的宿主机。 (默认 =null)
广播
已触发广播
PedometerSensor.ACTION_AWARE_PEDOMETER在计步器在周期结束后将数据保存到数据库后触发。
用户收到的广播
PedometerSensor.ACTION_AWARE_PEDOMETER_START:收到开启传感器的广播。PedometerSensor.ACTION_AWARE_PEDOMETER_STOP:收到停止传感器的广播。PedometerSensor.ACTION_AWARE_PEDOMETER_SYNC:收到发送同步尝试到主机的广播。PedometerSensor.ACTION_AWARE_PEDOMETER_SET_LABEL:收到设置数据标签的广播。标签应在intent额外的PedometerSensor.EXTRA_LABEL字段中。
数据表示
PedometerSensor 数据
包含原始传感器数据。
| 字段 | 类型 | 描述 |
|---|---|---|
| startDate | Int64 | 计步器数据开始时间,自1970年以来的Unix时间戳毫秒数 |
| endDate | Int64 | 计步器数据结束时间,自1970年以来的Unix时间戳毫秒数 |
| numberOfSteps | Int64 | 用户步数 |
| distance | Double | 用户估计行进的距离(以米为单位) |
| currentPace | Double | 当前速度,以每米秒为单位 |
| currentCadence | Double | 步速,以每秒步数表示 |
| floorsAscended | Double | 大约上升的楼层数 |
| floorsDescended | Double | 大约下降的楼层数 |
| averageActivePace | Double | 平均速度,以每米秒为单位 |
| label | String | 可定制的标签。用于数据校准或追踪 |
| deviceId | String | AWARE 设备 UUID |
| label | String | 可定制的标签。用于数据校准或追踪 |
| timestamp | Int64 | Unix时间戳毫秒数,自1970年以来的时间 |
| timezone | Int | 设备的原始时区偏移量 |
| os | String | 设备操作系统(例如,ios) |
示例用法
var pedometer = PedometerSensor.init(PedometerSensor.Config().apply{config in
config.debug = true
config.dbType = .REALM
config.sensorObserver = Observer()
})
pedometer.start()class Observer:PedometerObserver {
func onPedometerChanged(data:PedometerData){
// Your code here..
}
}作者
Yuuki Nishiyama, [email protected]
相关链接
许可协议
版权所有 (c) 2021 AWARE 移动上下文测量中间件/框架 (http://www.awareframework.com)
遵循 Apache 许可协议,2.0 版本(“本协议”);除非遵循本协议或书面同意,否则不得使用此文件。您可以在以下位置获得本协议的副本:
https://apache.ac.cn/licenses/LICENSE-2.0 除非适用法律要求或已书面同意,否则根据本许可证分发的软件按“现状”基础分发,不提供任何形式的明示或暗示担保。有关本许可证管辖的许可权限和限制的特定语言,请参阅本许可证。