我正试图修饰一张表盘,显示午夜燃烧的累计卡路里数。我找不到这样做的简单解决方案。有几个表面(例如IWD_LCD)已经这样做但我不知道如何。也许这从三星健康中读取数据(在这种情况下,如何做到这一点)?
由于
答案 0 :(得分:0)
Watch Face Designer工具名为' Gear Watch Designer'。但据我所知,你无法检索从这种设计师工具中燃烧的累积卡路里。您必须使用Tizen-Studio开发Tizen Native(C / C ++)或Web(HTML / CSS / js)表面。
Native Efl Watch Application Guide
Native DALi Watch Application Guide
通过使用Tizen原生传感器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。有关详细信息:
答案 1 :(得分:0)
'Samsung health'应用程序根据其方法/算法从各种传感器和Process Info读取原始数据。
但第三方开发者无法访问Samsung health的应用程序数据。有一个SDK可以做到这一点,但仅适用于三星合作伙伴。
所以,你必须使用数学和数学来计算你自己的'卡路里'。各种传感器的数据。 (比如'X'小时的睡眠会燃烧'Y'卡路里)