数据交换功能

10.1功能概述

当在App发起运动时,手环会从App产生的运动数据计算心率和卡路里返回App实现数据交换; 当手环发起运动时,手环产生的运动数据定时发送到App,实时展示运动数据。交换数据是以时间作为唯一参照,交换过程需要通过运动开始时间判断当前活动数据,如果时间对应不了,则无法交换数据。

10.2初始化运动数据

  • 参数说明

  • IDODataExchangeModel
参数 说明 备注
day int
hour int
minute int
second int
sportType 运动类型 运动类型参照 IDOSportTypes文件说明
targetType 目标类型 int
targetValue 目标数值 int
forceStart 是否强制开始 int
retCode 代码 0:成功;
1:设备已经进入运动模式失败;
2: 设备电量低失败;
3:手环正在充电
status 状态 0:全部有效,
1:距离无效,
2: gps 信号弱
errorCode 错误码 0:成功;
1:设备已经进入运动模式失败
step 步数 int (单位:步)
calories 卡路里 int (单位:J)
distance 距离 int (单位:米)
durations 持续时间 int (单位:分钟)
isSave 是否存储 BOOL
avgHrValue 平均心率 int
maxHrValue 最大心率 int
burnFatMins 脂肪燃烧时长 int (分钟)
aerobicMins 心肺锻炼时长 int (分钟)
limitMins 极限锻炼时长 int (分钟)
curHrValue 当前心率 int
intervalSecond 心率间隔 int
hrValueSerial 序列号 int
hrValues 心率数据 array str json

Objc:

//初始化交换数据
IDODataExchangeModel * dataModel = [IDODataExchangeModel new];
//运动开始时间
IDOSetTimeInfoBluetoothModel * timeModel = [IDOSetTimeInfoBluetoothModel currentModel];
dataModel.day    = timeModel.day;
dataModel.hour   = timeModel.hour;
dataModel.minute = timeModel.minute;
dataModel.second = timeModel.second;
//运动类型
dataModel.sportType = sportType;
//目标类型
dataModel.targetType = targetType;
//目标值
datModel.targetValue = targetValue;

Swift:

//初始化交换数据
let dataModel = IDODataExchangeModel.init();
//运动开始时间
let timeModel = IDOSetTimeInfoBluetoothModel.current();
dataModel.day = timeModel!.day;
dataModel.hour = timeModel!.hour;
dataModel.minute = timeModel!.minute;
dataModel.second = timeModel!.second;
//运动类型
dataModel.sportType = sportType;
//目标类型
dataModel.targetType = targetType;
//目标值
datModel.targetValue = targetValue;

10.3App发起数据交换方法

  • App发起运动开始

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appStartSportCommand:dataModel
  startCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动发起成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动发起失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appStartSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动发起成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动发起失败
     }
};
  • App发起运动暂停

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appPauseSportCommand:dataModel
  pauseCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动暂停成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动暂停失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appPauseSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动暂停成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动暂停失败
     }
};
  • App发起运动恢复

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appRestoreSportCommand:dataModel
  appRestoreCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动恢复成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动恢复失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appRestoreSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动恢复成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动恢复失败
     }
};
  • App发起运动数据交换过程

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appIngSportCommand:dataModel
  appIngCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动数据交换成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动数据交换失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appIngSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动数据交换成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动数据交换失败
     }
};
  • App发起运动结束

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appEndSportCommand:dataModel
  appEndcallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动结束成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动结束失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appEndSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动结束成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动结束失败
     }
};
  • App发起运动,手环暂停

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appBlePauseReplyCommand:dataModel
  appBlePauseCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动手环暂停成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动手环暂停失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appBlePauseReply(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动手环暂停成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动手环暂停失败
     }
};
  • App发起运动,手环恢复

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appBleRestoreReplyCommand:dataModel
  appBleRestoreCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动手环恢复成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动手环恢复失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appBleRestoreReply(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动手环恢复成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动手环恢复失败
     }
};
  • App发起运动,手环结束

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand appBleEndReplyCommand:dataModel
  appBleEndCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //运动手环结束成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //运动手环结束失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.appBleEndReply(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //运动手环结束成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //运动手环结束失败
     }
};

10.4Ble发起数据交换方法

  • 手环发起运动开始

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand bleStartSportCommand:dataModel
  bleStartCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //手环发起运动开始成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //手环发起运动开始失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.bleStartSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //手环发起运动开始成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //手环发起运动开始失败
     }
};
  • 手环发起运动暂停

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand blePauseSportCommand:dataModel
  blePauseCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //手环发起运动暂停成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //手环发起运动暂停失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.blePauseSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //手环发起运动暂停成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //手环发起运动暂停失败
     }
};
  • 手环发起运动恢复

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand bleRestoreSportCommand:dataModel
  bleRestoreCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //手环发起运动恢复成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //手环发起运动恢复失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.bleRestoreSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //手环发起运动恢复成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //手环发起运动恢复失败
     }
};
  • 手环发起运动停止

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand bleEndSportCommand:dataModel
  bleEndCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //手环发起运动停止成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //手环发起运动停止失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.bleEndSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //手环发起运动停止成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //手环发起运动停止失败
     }
};
  • 手环发起运动交换数据

Objc:

  //dataModel全局运动数据模型
  [IDOFoundationCommand bleIngSportCommand:dataModel
  bleIngCallback:^(IDODataExchangeModel * _Nullable model, int errorCode) {
     if (errorCode == 0 && model.retCode == 0) {
        //手环发起运动交换数据成功
     }else if (model.retCode == 2) {
       //电量过低
     }else {
       //手环发起运动交换数据失败
     }
}];

Swift:

//dataModel全局运动数据模型
IDOFoundationCommand.bleIngSportCommand(dataModel) { (model, errorCode) in
     if errorCode == 0 && model.retCode == 0{
        //手环发起运动交换数据成功
     }else if model.retCode == 2 {
       //电量过低
     }else {
       //手环发起运动交换数据失败
     }
};

10.5 Demo数据交换功能入口

Copyright © 2015-2020 IDO. All rights reserved. all right reserved,powered by Gitbook修订时间: 2023-12-18 10:04:13

results matching ""

    No results matching ""