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, если хотите. Для деталей:

Tizen Native Sensor Guide

Tizen Web Sensor Guide

Приложение Samsung Health считывает необработанные данные с различных датчиков и информацию о процессе на основе их метода / алгоритма.

Но сторонний разработчик не будет иметь доступа к данным приложения Samsung Health. Для этого есть SDK, но только для партнеров Samsung.

Samsung Health SDK

Таким образом, вы должны рассчитать "сожженные калории" самостоятельно, используя математические данные и данные различных датчиков. (Как 'X' часов сна сжигает 'Y' калорий)

Другие вопросы по тегам