com.awareframework.ios.sensor.pedometer 0.5.0

com.awareframework.ios.sensor.pedometer 0.5.0

tetujinyuuki.nishiyama 维护。



  • Yuuki Nishiyama

AWARE: 步数计

CI Status Version License Platform

步数计传感器使我们能够管理由 CMPedometer 提供的历史步数计数据。步数计对象包含步数和其他有关行进距离和上升或下降楼层数的信息。

要求

iOS 10 或更高版本

安装

com.awareframework.ios.sensor.pedometer 通过 CocoaPods 可用。

  1. 要安装它,只需将以下行添加到您的 Podfile 中:
pod 'com.awareframework.ios.sensor.pedometer'
  1. 将 com.awareframework.ios.sensor.pedometer 库导入到您的源代码中。
import com_awareframework_ios_sensor_pedometer
  1. 在 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 除非适用法律要求或已书面同意,否则根据本许可证分发的软件按“现状”基础分发,不提供任何形式的明示或暗示担保。有关本许可证管辖的许可权限和限制的特定语言,请参阅本许可证。