Health Platform API — это API-интерфейс Android, который предоставляет разработчикам единый интерфейс для чтения, записи и обмена историческими данными о здоровье, самочувствии и фитнесе пользователя. С помощью Health Platform пользователи могут контролировать свои данные. Пользователи контролируют, какие приложения имеют доступ для чтения или записи к различным типам данных. Типы данных API платформы здравоохранения включают рост, частоту сердечных сокращений и многое другое.
API-интерфейс Health Platform предоставляет пользователям механизм хранения и совместного использования, который позволяет им выбирать, какие приложения могут получать доступ и отображать их личные данные о здоровье, фитнесе и самочувствии. Это позволяет разработчикам приложений показывать пользователям более полное представление о состоянии здоровья пользователей и более эффективно отслеживать свои данные.
Комплект разработчика программного обеспечения Health Platform API предоставляет разработчикам приложений Android все необходимое для предоставления доступа к данным о здоровье и самочувствии пользователя на некоторых устройствах Samsung, а также позволяет приложениям выполнять массовые операции, такие как вставка, удаление и чтение данных.
Начать
При использовании Health Platform имейте в виду следующее:
- Клиентские приложения должны получать от пользователя детальные разрешения на чтение или запись.
- Пользователь может отказать в разрешениях или отозвать разрешения в любой момент после этого.
- API Health Platform поддерживает только некоторые устройства Samsung.
-
HealthDataClient
— это клиент Health Platform и точка входа в Health Platform.
На следующем изображении показаны необходимые шаги по интеграции, которые должны выполнить разработчики:
Выпуск файлов
Выпуск Health Platform V1 содержит следующее:
- Клиентский SDK . Включите этот SDK в свое приложение, чтобы использовать API Health Platform. SDK — это репозиторий Maven, который вы можете напрямую включить в файлы сборки Gradle вашего приложения.
Установить платформу здоровья
Установите Health Platform, выполнив следующие действия:
В корневой файл build.gradle
приложения добавьте репозиторий, как показано в следующем примере:
allprojects {
...
repositories {
...
google()
}
}
Добавьте зависимость от Health Platform SDK в файл build.gradle
вашего модуля, как показано в следующем примере:
dependencies {
…
implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}
Данные
Платформа здоровья хранит и структурирует данные о здоровье и фитнесе. В нем также рассматриваются основные различия между способами измерения данных разных типов. Например, измерение частоты пульса выполняется сразу, а подсчет шагов — за определенный период времени.
Ниже приведены основные объекты Health Platform и их различия:
-
RawData
: запись измерений и данных. -
DataType
: спецификатор для распространенных типов данных о здоровье и фитнесе, таких как частота сердечных сокращений, количество жира в организме или температура тела, а также их форматы, такие как поля, только для чтения или необязательные. -
SampleData
: объектRawData
, который представляет собой мгновенное измерение, например частоту сердечных сокращений, артериальное давление или скорость бега. -
IntervalData
: объектRawData
, который представляет собой совокупное измерение, выполненное за определенный период времени, например количество пройденных шагов, пройденное расстояние или сожженные калории. -
SeriesData
: объектRawData
, который инкапсулирует последовательность измерений за определенный период времени.SeriesData
особенно подходит для данных высокочастотных датчиков, таких как непрерывные измерения частоты пульса во время тренировки.
Каждый из трех классов RawData
соответствует определенному подклассу DataType
: SampleData
, IntervalData
и SeriesData
соответствуют SampleDataType
, IntervalDataType
и SeriesDataType
соответственно.
При вставке каждому объекту RawData
платформа Health присваивает уникальный идентификатор (UID). Вы можете использовать этот UID для ссылки на определенный объект RawData
в запросах на чтение, обновление или удаление.
Типы данных
Платформа здоровья включает в себя широкий набор типов данных, которые обычно используются в приложениях для здоровья и фитнеса. Данные, хранящиеся в доступных типах данных, предоставляют пользователям полное представление об их исторических данных о здоровье, физической форме и самочувствии, давая представление об их повседневной деятельности.
Каждый тип данных определяется своим форматом данных, который включает в себя следующее:
- Поля: конкретные или общие поля, связанные с типом данных. Например, тип данных насыщения крови кислородом (SpO2) имеет такие поля, как «Заголовок», «Примечания» и «Процент».
- Тип: long, double, string или enum.
- Атрибут: только для чтения, обязательный, необязательный или диапазон проверки.
Список типов данных
Получите максимальную отдачу от Health Platform, разобравшись в доступных типах данных. Health Platform поддерживает типы данных, показанные в следующей таблице. Типы данных организованы в соответствии с их форматом: выборка, интервал или серия.
Типы SampleData
:
DataType.BasalMetabolicRateDataType | BASAL_METABOLIC_RATE | Необходимый |
DataType.BloodGlucoseDataType | BLOOD_GLUCOSE | Обязательные и необязательные |
DataType.BloodPressureDataType | BLOOD_PRESSURE | Обязательные и необязательные |
DataType.BodyFatDataType | BODY_FAT | Необходимый |
DataType.BodyTemperatureDataType | BODY_TEMPERATURE | Обязательные и необязательные |
DataType.BoneMassDataType | BONE_MASS | Необходимый |
DataType.CervicalMucusDataType | CERVICAL_MUCUS | Необязательный |
DataType.CervicalPositionDataType | CERVICAL_POSITION | Необязательный |
DataType.CyclingPedalingCadenceDataType | CYCLING_PEDALING_CADENCE | Необходимый |
DataType.DateOfBirthDataType | DATE_OF_BIRTH | Только чтение |
DataType.GenderDataType | GENDER | Только чтение |
DataType.HeartRateDataType | HEART_RATE | Необходимый |
DataType.HeightDataType | HEIGHT | Необходимый |
DataType.HipCircumferenceDataType | HIP_CIRCUMFERENCE | Необходимый |
DataType.HrvDifferentialIndexDataType | HRV_DIFFERENTIAL_INDEX | Необходимый |
DataType.HrvRmssdDataType | HRV_RMSSD | Необходимый |
DataType.HrvSDataType | HRV_S | Необходимый |
DataType.HrvSd2DataType | HRV_SD2 | Необходимый |
DataType.HrvSdannDataType | HRV_SDANN | Необходимый |
DataType.HrvSdnnDataType | HRV_SDNN | Необходимый |
DataType.HrvSdnnIndexDataType | HRV_SDNN_INDEX | Необходимый |
DataType.HrvSdnnIndexDataType | HRV_SDNN_INDEX | Необходимый |
DataType.HrvSdsdDataType | HRV_SDSD | Необходимый |
DataType.HrvTinnDataType | HRV_TINN | Необходимый |
DataType.LeanBodyMassDataType | LEAN_BODY_MASS | Необходимый |
DataType.LocationDataType | LOCATION | Необходимый |
DataType.MenstruationDataType | MENSTRUATION | Необязательный |
DataType.OvulationTestDataType | OVULATION_TEST | Необходимый |
DataType.OxygenSaturationDataType | OXYGEN_SATURATION | Необходимый |
DataType.PaceDataType | PACE | Необходимый |
DataType.PowerDataType | POWER | Необходимый |
DataType.RespiratoryRateDataType | RESPIRATORY_RATE | Необходимый |
DataType.RestingHeartRateDataType | RESTING_HEART_RATE | Необходимый |
DataType.SexualActivityDataType | SEXUAL_ACTIVITY | Необходимый |
DataType.SpeedDataType | SPEED | Необходимый |
DataType.StepsCadenceDataType | STEPS_CADENCE | Необходимый |
DataType.Vo2MaxDataType | VO2_MAX | Обязательные и необязательные |
DataType.WaistCircumferenceDataType | WAIST_CIRCUMFERENCE | Необходимый |
DataType.WeightDataType | WEIGHT | Необходимый |
Типы IntervalData
:
DataType.ActiveEnergyDataType | ACTIVE_ENERGY_BURNED | Необходимый |
DataType.ActiveTimeDataType | ACTIVE_TIME | Только чтение |
DataType.ActivityEventDataType | ACTIVITY_EVENT | Необходимый |
DataType.ActivityLapDataType | ACTIVITY_LAP | Необязательный |
DataType.ActivitySessionDataType | ACTIVITY_SESSION | Необходимый |
DataType.BasalEnergyDataType | BASAL_ENERGY_BURNED | Только чтение |
DataType.DistanceDataType | DISTANCE | Необходимый |
DataType.ElevationGainedDataType | ELEVATION_GAINED | Необходимый |
DataType.FloorsClimbedDataType | FLOORS_CLIMBED | Необходимый |
DataType.HydrationDataType | HYDRATION | Необходимый |
DataType.NutritionDataType | NUTRITION | Необязательный |
DataType.RepetitionsDataType | REPETITIONS | Необходимый |
DataType.SleepSessionDataType | SLEEP_SESSION | Необязательный |
DataType.SleepStageDataType | SLEEP_STAGE | Необходимый |
DataType.StepsDataType | STEPS | Необходимый |
DataType.SwimmingStrokesDataType | SWIMMING_STROKES | Обязательные и необязательные |
DataType.TotalEnergyDataType | TOTAL_ENERGY_BURNED | Только чтение |
Типы SeriesData
:
DataType.CyclingPedalingCadenceSeriesDataType | CYCLING_PEDALING_CADENCE | Необходимый |
DataType.HeartRateSeriesDataType | HEART_RATE | Необходимый |
DataType.LocationSeriesDataType | LOCATION | Необходимый |
DataType.PaceSeriesDataType | PACE | Необходимый |
DataType.PowerSeriesDataType | POWER | Необходимый |
DataType.SpeedSeriesDataType | SPEED | Необходимый |
DataType.StepsCadenceSeriesDataType | STEPS_CADENCE | Необходимый |
Функции разработчика
Ниже описан набор стандартных функций обработки данных, доступных в Health Platform. Платформа предоставляет стандартные функции вставки, обновления и удаления необработанных данных.
Чтение агрегированных данных
Платформа позволяет клиентам применять функцию агрегации к следующим типам AggregatedData
:
-
StatisticalData
: средние, минимальные или максимальные значения в набореSampleData
илиSeriesData
, например минимальная и максимальная частота пульса во время сеанса активности. -
CumulativeData
: сумма значенийIntervalData
, например общее количество шагов за дневной интервал. -
CountData
: простой подсчет количества базовых объектовRawData
, например количества сеансов активности за данную неделю. Данные подсчета можно вычислять для типов данных выборки, интервала и серии.
Подключитесь к API платформы здравоохранения
HealthDataClient
— это точка входа в API платформы здравоохранения.
Следующие шаги описывают, как подключиться к Health Platform:
- Используйте
HealthDataService.getClient
для создания новых экземпляровHealthDataClient
. - Затем клиентское приложение должно запросить разрешение у пользователя с помощью метода
requestPermissions (Set)
.
HealthDataClient
автоматически управляет подключением к базовому уровню хранения и обрабатывает все межпроцессные коммуникации (IPC) и сериализацию исходящих запросов и входящих ответов.
Рекомендуется для вас
- Примечание. Текст ссылки отображается, когда JavaScript отключен.
- Активные данные и упражнения
- Пассивное обновление данных
- Используйте Jetpack Compose на Wear OS