Tizen доступ к накопленным калориям
Я пытаюсь создать циферблат, который показывает общее количество сожженных калорий с полуночи. Я не могу найти простое решение для этого. Есть несколько циферблатов (например, IWD_LCD), которые уже делают это, но я не знаю как. Может быть, это читать данные из Самсунг Хелт (в данном случае, как это сделать)?
Спасибо
2 ответа
Существует инструмент Watch Face Designer под названием "Gear Watch Designer". Но, насколько я знаю, вы не сможете получить накопленные калории, сожженные из такого инструмента конструктора. Вы должны разработать внешний вид Tizen Native(C/C++) или Web(HTML/CSS/js) с помощью Tizen-Studio.
Руководство по применению Native Efl Watch
Native DALi Watch Руководство по применению
Руководство по применению веб-часов
С помощью собственного API-интерфейса датчика Tizen вы можете получать данные шагомера, такие как: количество шагов, сожженные калории и т. Д. Я не вижу кумулятивных данных о сожженных калориях в ссылках API, но вы можете добавить "сожженные калории" и получить кумулятивные данные. После того, как вы получили данные о сожженных калориях, вам понадобятся компоненты пользовательского интерфейса для отображения информации на вашем циферблате.
Я поделился с вами примером кода 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, если хотите. Для деталей:
Приложение Samsung Health считывает необработанные данные с различных датчиков и информацию о процессе на основе их метода / алгоритма.
Но сторонний разработчик не будет иметь доступа к данным приложения Samsung Health. Для этого есть SDK, но только для партнеров Samsung.
Таким образом, вы должны рассчитать "сожженные калории" самостоятельно, используя математические данные и данные различных датчиков. (Как 'X' часов сна сжигает 'Y' калорий)