Health Platform API to interfejs API na Androida, który zapewnia programistom jeden interfejs do odczytywania, zapisywania i udostępniania historycznych danych użytkownika o zdrowiu, samopoczuciu i kondycji fizycznej. Dzięki Health Platform użytkownicy mają kontrolę nad swoimi danymi. Użytkownicy mogą kontrolować, które aplikacje mają dostęp do odczytu lub zapisu różnych typów danych. Typy danych interfejsu Health Platform API obejmują m.in. wzrost i tętno.
Interfejs Health Platform API udostępnia użytkownikom mechanizm przechowywania i udostępniania, który pozwala im wybrać aplikacje, które mogą wyświetlać ich dane o zdrowiu, kondycji i samopoczuciu. Dzięki temu deweloperzy aplikacji mogą wyświetlać użytkownikom pełniejsze informacje o stanie ich danych, a użytkownicy mogą skuteczniej monitorować swoje dane.
Zestaw programistów interfejsu Health Platform API zawiera wszystko, czego potrzebują deweloperzy aplikacji na Androida, aby udostępnić użytkownikom dostęp do danych o zdrowiu i dobrze zorganizowanym życiu na wybranych urządzeniach Samsunga. Pozwala on aplikacjom wykonywać operacje zbiorcze, takie jak wstawianie, usuwanie i odczytywanie danych.
Rozpocznij
Korzystając z Health Platform, pamiętaj o tych kwestiach:
- Aplikacje klienckie muszą uzyskać szczegółowe uprawnienia do odczytu lub zapisu od użytkownika.
- Użytkownik może w dowolnym momencie odmówić przyznania uprawnień lub je cofnąć.
- Interfejs Health Platform API obsługuje tylko wybrane urządzenia Samsung.
HealthDataClient
to klient platformy Health Platform i punkt wejścia do tej platformy.
Poniższy obraz przedstawia niezbędne kroki integracji, które muszą wykonać deweloperzy:

Pliki do wydania
Wersja 1 platformy Health Platform zawiera:
- Pakiet SDK klienta: dołącz ten pakiet SDK do aplikacji, aby korzystać z interfejsu Health Platform API. Pakiet SDK to repozytorium Maven, które możesz bezpośrednio uwzględnić w plikach Gradle do kompilacji aplikacji.
Instalowanie platformy Health
Aby zainstalować Health Platform, wykonaj te czynności:
W pliku build.gradle
w katalogu głównym aplikacji dodaj repozytorium w ten sposób:
allprojects {
. . .
repositories {
. . .
google()
}
}
Dodaj zależność od pakietu SDK platformy Health w pliku build.gradle
modułu, jak w tym przykładzie:
Kotlin
dependencies { . . . implementation("com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01") }
Groovy
dependencies { . . . implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01' }
Dane
Health Platform przechowuje i uporządkowuje dane o zdrowiu i aktywności fizycznej. Uwzględnia ona też główne różnice w sposobie pomiaru danych o różnym charakterze. Na przykład pomiar tętna jest wykonywany natychmiast, ale licznik kroków jest mierzony w ciągu określonego czasu.
Oto główne obiekty w Health Platform i różnice między nimi:
RawData
: rekord pomiaru i danych.DataType
: parametr określający typowe rodzaje danych o zdrowiu i kondycji fizycznej, takie jak tętno, zawartość tkanki tłuszczowej lub temperatura ciała, oraz ich formaty, np. pola, tylko do odczytu lub opcjonalne.SampleData
: obiektRawData
, który jest chwilowym pomiarem, takim jak tętno, ciśnienie krwi lub prędkość biegu.IntervalData
: obiektRawData
, który jest kumulatywnym pomiarem wykonanym w okresie czasu, np. liczba wykonanych kroków, przebyta odległość lub spalone kalorie.SeriesData
: obiektRawData
, który zawiera sekwencję pomiarów w danym przedziale czasu.SeriesData
jest szczególnie przydatny do danych z czujników o wysokiej częstotliwości, takich jak ciągłe próbki tętna podczas sesji aktywności.
Każda z 3 klas RawData
odpowiada konkretnej podklasie typu DataType
: SampleData
, IntervalData
i SeriesData
odpowiadają odpowiednio typom SampleDataType
, IntervalDataType
i SeriesDataType
.
Każdy obiekt RawData
ma przypisany unikalny identyfikator (UID) przez platformę Health Platform podczas jego wstawiania. Możesz użyć tego identyfikatora UID, aby odwoływać się do konkretnego obiektu RawData
w żądaniach odczytu, aktualizacji lub usunięcia.
Typy danych
Platforma Health Platform obejmuje szeroki zestaw typów danych, które są powszechnie używane w aplikacjach do dbania o zdrowie i kondycję. Dane przechowywane przy użyciu dostępnych typów danych zapewniają użytkownikom kompleksowy wgląd w historyczne dane o zdrowiu, kondycji i samopoczuciu, a także informacje o ich codziennej aktywności.
Każdy typ danych jest zdefiniowany przez format danych, który obejmuje:
- Pola: pola specyficzne lub ogólne powiązane z typem danych. Na przykład typ danych „Nasycenie krwi tlenem (SpO2)” zawiera pola takie jak „Tytuł”, „Uwagi” i „Procent”.
- Typ: long, double, string lub enum.
- Atrybut: tylko do odczytu, wymagany, opcjonalny lub zakres walidacji.
Lista typów danych
Wykorzystaj w pełni możliwości Health Platform, poznając dostępne typy danych. Platforma Health obsługuje typy danych podane w tabeli poniżej. Typy danych są uporządkowane według formatu: próbka, przedział lub seria.
SampleData
typy:
DataType.BasalMetabolicRateDataType |
BASAL_METABOLIC_RATE |
Wymagane |
DataType.BloodGlucoseDataType |
BLOOD_GLUCOSE |
Wymagany i opcjonalny |
DataType.BloodPressureDataType |
BLOOD_PRESSURE |
Wymagany i opcjonalny |
DataType.BodyFatDataType |
BODY_FAT |
Wymagane |
DataType.BodyTemperatureDataType |
BODY_TEMPERATURE |
Wymagany i opcjonalny |
DataType.BoneMassDataType |
BONE_MASS |
Wymagane |
DataType.CervicalMucusDataType |
CERVICAL_MUCUS |
Opcjonalny |
DataType.CervicalPositionDataType |
CERVICAL_POSITION |
Opcjonalny |
DataType.CyclingPedalingCadenceDataType |
CYCLING_PEDALING_CADENCE |
Wymagane |
DataType.DateOfBirthDataType |
DATE_OF_BIRTH |
Tylko do odczytu |
DataType.GenderDataType |
GENDER |
Tylko do odczytu |
DataType.HeartRateDataType |
HEART_RATE |
Wymagane |
DataType.HeightDataType |
HEIGHT |
Wymagane |
DataType.HipCircumferenceDataType |
HIP_CIRCUMFERENCE |
Wymagane |
DataType.HrvDifferentialIndexDataType |
HRV_DIFFERENTIAL_INDEX |
Wymagane |
DataType.HrvRmssdDataType |
HRV_RMSSD |
Wymagane |
DataType.HrvSDataType |
HRV_S |
Wymagane |
DataType.HrvSd2DataType |
HRV_SD2 |
Wymagane |
DataType.HrvSdannDataType |
HRV_SDANN |
Wymagane |
DataType.HrvSdnnDataType |
HRV_SDNN |
Wymagane |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
Wymagane |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
Wymagane |
DataType.HrvSdsdDataType |
HRV_SDSD |
Wymagane |
DataType.HrvTinnDataType |
HRV_TINN |
Wymagane |
DataType.LeanBodyMassDataType |
LEAN_BODY_MASS |
Wymagane |
DataType.LocationDataType |
LOCATION |
Wymagane |
DataType.MenstruationDataType |
MENSTRUATION |
Opcjonalny |
DataType.OvulationTestDataType |
OVULATION_TEST |
Wymagane |
DataType.OxygenSaturationDataType |
OXYGEN_SATURATION |
Wymagane |
DataType.PaceDataType |
PACE |
Wymagane |
DataType.PowerDataType |
POWER |
Wymagane |
DataType.RespiratoryRateDataType |
RESPIRATORY_RATE |
Wymagane |
DataType.RestingHeartRateDataType |
RESTING_HEART_RATE |
Wymagane |
DataType.SexualActivityDataType |
SEXUAL_ACTIVITY |
Wymagane |
DataType.SpeedDataType |
SPEED |
Wymagane |
DataType.StepsCadenceDataType |
STEPS_CADENCE |
Wymagane |
DataType.Vo2MaxDataType |
VO2_MAX |
Wymagany i opcjonalny |
DataType.WaistCircumferenceDataType |
WAIST_CIRCUMFERENCE |
Wymagane |
DataType.WeightDataType |
WEIGHT |
Wymagane |
IntervalData
typy:
DataType.ActiveEnergyDataType |
ACTIVE_ENERGY_BURNED |
Wymagane |
DataType.ActiveTimeDataType |
ACTIVE_TIME |
Tylko do odczytu |
DataType.ActivityEventDataType |
ACTIVITY_EVENT |
Wymagane |
DataType.ActivityLapDataType |
ACTIVITY_LAP |
Opcjonalny |
DataType.ActivitySessionDataType |
ACTIVITY_SESSION |
Wymagane |
DataType.BasalEnergyDataType |
BASAL_ENERGY_BURNED |
Tylko do odczytu |
DataType.DistanceDataType |
DISTANCE |
Wymagane |
DataType.ElevationGainedDataType |
ELEVATION_GAINED |
Wymagane |
DataType.FloorsClimbedDataType |
FLOORS_CLIMBED |
Wymagane |
DataType.HydrationDataType |
HYDRATION |
Wymagane |
DataType.NutritionDataType |
NUTRITION |
Opcjonalny |
DataType.RepetitionsDataType |
REPETITIONS |
Wymagane |
DataType.SleepSessionDataType |
SLEEP_SESSION |
Opcjonalny |
DataType.SleepStageDataType |
SLEEP_STAGE |
Wymagane |
DataType.StepsDataType |
STEPS |
Wymagane |
DataType.SwimmingStrokesDataType |
SWIMMING_STROKES |
Wymagany i opcjonalny |
DataType.TotalEnergyDataType |
TOTAL_ENERGY_BURNED |
Tylko do odczytu |
SeriesData
typy:
DataType.CyclingPedalingCadenceSeriesDataType |
CYCLING_PEDALING_CADENCE |
Wymagane |
DataType.HeartRateSeriesDataType |
HEART_RATE |
Wymagane |
DataType.LocationSeriesDataType |
LOCATION |
Wymagane |
DataType.PaceSeriesDataType |
PACE |
Wymagane |
DataType.PowerSeriesDataType |
POWER |
Wymagane |
DataType.SpeedSeriesDataType |
SPEED |
Wymagane |
DataType.StepsCadenceSeriesDataType |
STEPS_CADENCE |
Wymagane |
Funkcje dla programistów
Poniżej opisujemy zestaw standardowych funkcji danych dostępnych na platformie Health Platform. Platforma udostępnia standardowe funkcje wstawiania, aktualizowania i usuwania danych nieprzetworzonych.
Odczytywanie danych zbiorczych
Platforma umożliwia klientom stosowanie funkcji agregacji do tych typów AggregatedData
:
StatisticalData
: średnia, minimalna lub maksymalna wartość w zbiorzeSampleData
lubSeriesData
, np. minimalna i maksymalna częstotliwość tętna podczas sesji aktywności.CumulativeData
: suma wartościIntervalData
, np. łączna liczba kroków w przeciągu dnia.CountData
: prosta liczba obiektówRawData
, np. liczba sesji aktywności w danym tygodniu. Dane zliczające można obliczać w przypadku typów danych próbka, przedział i seria.
Łączenie z interfejsem Health Platform API
HealthDataClient
to punkt wejścia do interfejsu Health Platform API.
Aby połączyć się z platformą Health Platform, wykonaj te czynności:
- Użyj
HealthDataService.getClient
, aby utworzyć nowe instancjeHealthDataClient
. - Aplikacja klienta musi poprosić użytkownika o zezwolenie, używając metody
requestPermissions (Set)
.
HealthDataClient
automatycznie zarządza połączeniem z podstawową warstwą pamięci masowej i obsługuje całą komunikację między procesami (IPC) oraz serializację wychodzących żądań i przychodzących odpowiedzi.
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy obsługa JavaScript jest wyłączona
- Dane i ćwiczenia dotyczące aktywności
- Aktualizacje danych pasywnych
- Korzystanie z Jetpack Compose na Wear OS