我正在尝试创建一个显示从午夜燃烧的卡路里累积数量的表盘。我找不到这样做的简单解决方案。有几个表盘(例如 IWD_LCD)已经这样做了,但我不知道怎么做。也许这从三星健康读取数据(在这种情况下,如何做到这一点)?
谢谢
我正在尝试创建一个显示从午夜燃烧的卡路里累积数量的表盘。我找不到这样做的简单解决方案。有几个表盘(例如 IWD_LCD)已经这样做了,但我不知道怎么做。也许这从三星健康读取数据(在这种情况下,如何做到这一点)?
谢谢
“三星健康”应用程序根据其方法/算法从各种传感器和流程信息中读取原始数据。
但是第 3 方开发人员将无法访问三星健康的应用程序数据。有一个 SDK 可以做到这一点,但这仅适用于三星合作伙伴。
因此,您必须使用来自各种传感器的数学和数据自己计算“燃烧的卡路里”。(就像'X'小时的睡眠燃烧'Y'卡路里)
有一个名为“Gear Watch Designer”的表盘设计器工具。但据我所知,您将无法从此类设计工具中检索累计消耗的卡路里。您必须使用 Tizen-Studio 开发 Tizen Native(C/C++) 或 Web(HTML/CSS/js) 表盘。
通过使用 Tizen 原生 Sensor API,您可以检索计步器数据,例如:步数、消耗的卡路里等。我在 API 参考上看不到累积的卡路里消耗数据,但您可以添加“消耗的卡路里”并生成累积数据。检索到“卡路里消耗”数据后,您需要 UI 组件在表盘上显示信息。
我正在与您共享一个 C 代码示例以检索卡路里燃烧数据:
#include <sensor.h>
#include<stdbool.h>
bool checkSupport(sensor_type_e type){
bool support;
sensor_is_supported(type,&support);
return support;
}
void sensorEventCallBack(sensor_h sensorHanlder, sensor_event_s *event, void *user_data){
dlog_print(DLOG_DEBUG, LOG_TAG, "Number of steps: %d", event->values[0]);
dlog_print(DLOG_DEBUG, LOG_TAG, "Number of walking steps: %d", event->values[1]);
dlog_print(DLOG_DEBUG, LOG_TAG, "Calories burned: %.2f kcal", event->values[4]);
/* values[0] to values[7]*/
}
void logPrintSensorData(){
if(checkSupport(SENSOR_HUMAN_PEDOMETER)){
sensor_h sensorHanlder;
sensor_get_default_sensor(SENSOR_HUMAN_PEDOMETER, &sensorHanlder);
sensor_listener_h sensorListener;
sensor_create_listener(sensorHanlder,&sensorListener);
sensor_listener_set_event_cb(sensorListener,1000, sensorEventCallBack, NULL);
sensor_listener_set_option(sensorListener,SENSOR_OPTION_ALWAYS_ON);
sensor_listener_start(sensorListener);
/* Once Task Completed*/
//sensor_listener_stop(sensorListener);
}
else {
dlog_print(DLOG_ERROR, LOG_TAG, "SENSOR_HUMAN_PEDOMETER Not Supported");
}
}
在 tizen-manifest.xml 添加权限http://tizen.org/privilege/healthinfo
如果您愿意,也可以尝试使用 Tizen Web API 而不是 Tizen Native API。详情: