From c5c2b6cf7976b3f9121da62220a9f6434e4e70aa Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Wed, 6 Nov 2024 15:13:47 +0800 Subject: [PATCH] =?utf8?q?=E5=BF=83=E7=8E=87=EF=BC=9A=E4=BC=98=E5=8C=96?= =?utf8?q?=E4=B8=BB=E7=95=8C=E9=9D=A2=E5=BF=83=E7=8E=87=E5=88=B7=E6=96=B0?= =?utf8?q?=E6=85=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../health_service/health_service.cpp | 3 --- .../nativeui/heartrate/src/HeartChartView.cpp | 23 +++++++++++++------ .../nativeui/heartrate/src/HeartModel.cpp | 4 ++++ .../nativeui/heartrate/src/HeartRateView.cpp | 4 ++++ 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/heart_blood/health_service/health_service.cpp b/code/sdk/application/wearable/fd230app/nativeui/heart_blood/health_service/health_service.cpp index 93168bbbd..62e88de74 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heart_blood/health_service/health_service.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heart_blood/health_service/health_service.cpp @@ -449,9 +449,6 @@ bool HealthService::UpdateHealthData(const HeartRateData &data) { outFile.close(); WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateHealthData Heart JSON is ok"); - // 写入文件到当天历史数据 - UpdateHourlyHeartRate(data.timestamp, data.Heart); - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "UpdateHourlyHeartRate is ok"); if (!SaveDailyHeartRate()) // 进行心率历史数据文件存储 diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp index 97ef649b4..4438ac455 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartChartView.cpp @@ -263,32 +263,41 @@ void HeartChartView::UpdateShowHeart() { } void HeartChartView::Update_data_Chart(int serialIndex) { if (heartchart == nullptr) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Update_data_Chart fail %d", + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Update_data_Chart fail %d", serialIndex); return; } + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"开始更新曲线"); /*清除原数据*/ heartSerial->ClearData(); - /*设置单个项*/ - heartdata[serialIndex].x = serialIndex; - heartdata[serialIndex].y = - HealthService::GetInstance()->GetHourlyHeartRate(serialIndex); - + /*更新所有项*/ + for (int serialIndex = 0; serialIndex < 24; serialIndex++) { + heartdata[serialIndex].x = serialIndex; + heartdata[serialIndex].y = + HealthService::GetInstance()->GetHourlyHeartRate(serialIndex); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"x:%d,y:%d\n", heartdata[serialIndex].x,heartdata[serialIndex].y); + } /*重新添加*/ heartSerial->AddPoints(heartdata, 24); heartSerial->SetLineColor(Color::Red()); heartSerial->SetFillColor(Color::Red()); heartSerial->EnableGradient(true); + // heartSerial->Refresh(); + heartchart->AddDataSerial(heartSerial); - heartchart->Invalidate(); + + // heartchart->RefreshChart(); + + RootView::GetInstance()->Invalidate(); //更新为刚刚检测 SetLastHeart(); //更新最大最小值 SetDataTopAndBottom(); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"更新更新曲线完成"); } void HeartChartView::CleanAllDataView() { if (heartchart == nullptr || maxheart_ == nullptr || minheart_ == nullptr) { diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp index 603e8b85d..4c6ba590c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartModel.cpp @@ -513,6 +513,8 @@ void HeartModel::Heart_Save() { HealthService::GetInstance()->UpdateHealthData(data); #else HealthService::GetInstance()->send_heart_save(); + // 将更新曲线写到这里提前更新 + HealthService::GetInstance()->UpdateHourlyHeartRate(timestamp_ms, currentheart); #endif // WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "保存的心率数据:%d%ld", // currentheart,data.timestamp); @@ -557,8 +559,10 @@ void HeartModel::handleHeartResult() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "检测结果:成功"); Heart_Save(); // 更新曲线 + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "准备更新UI"); GraphicService::GetInstance()->PostGraphicEvent( std::bind(&HeartModel::Heart_Update_View, HeartModel::GetInstance())); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "更新UI完成"); break; case HeartResult::NOT_WORN: diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp index 6c7c5d882..0c8d3fc01 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp @@ -501,6 +501,8 @@ static ImageAnimatorInfo g_heartBeatImageInfo[HEARTBEAT_IMAGE_NUM] = { return; } + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"开始更新曲线"); + /*清空原数据*/ heartSerial->ClearData(); @@ -514,6 +516,8 @@ static ImageAnimatorInfo g_heartBeatImageInfo[HEARTBEAT_IMAGE_NUM] = { heartchart->AddDataSerial(heartSerial); heartchart->Invalidate(); + + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"更新曲线完成"); // heartchart->RefreshChart(); } void HeartRateView::CleanAllDataView() -- 2.17.1