Health Platform API to interfejs API na Androida, który zapewnia deweloperom jeden interfejs do odczytywania, pisania i udostępniania danych o zdrowiu, samopoczuciu i aktywności fizycznej użytkowników. Dzięki Health Platform użytkownicy mogą kontrolować swoje dane. Użytkownicy decydują, które aplikacje mają uprawnienia do odczytu i zapisu różnych typów danych. Typy danych interfejsu Health Platform API to między innymi wzrost i tętno.
Health Platform API zapewnia użytkownikom mechanizm przechowywania i udostępniania danych, dzięki któremu mogą oni wybrać, które aplikacje mogą wyświetlać i wyświetlać ich osobiste dane o zdrowiu, aktywności fizycznej i samopoczuciu. Dzięki temu deweloperzy aplikacji będą mieli pełniejszy wgląd w stan użytkowników, a użytkownicy będą mogli skuteczniej monitorować swoje dane.
Zestaw dla programistów aplikacji na Androida Health Platform API zapewnia deweloperom aplikacji na Androida wszystko, czego potrzebują, aby zapewnić dostęp do danych o zdrowiu i samopoczuciu użytkowników na wybranych urządzeniach Samsung. Umożliwia też aplikacjom wykonywanie operacji zbiorczych, takich jak wstawianie, usuwanie i odczytywanie danych.
Rozpocznij
Korzystając z Health Platform, pamiętaj o tych kwestiach:
- Aplikacje klienckie muszą uzyskać od użytkownika szczegółowe uprawnienia do odczytu lub zapisu.
- Użytkownik może je odebrać lub odebrać w dowolnym momencie.
- Interfejs Health Platform API obsługuje tylko wybrane urządzenia Samsung.
HealthDataClient
to klient Health Platform i punkt wejścia do Health Platform.
Na ilustracji poniżej przedstawiono niezbędne kroki integracji, które muszą wykonać deweloperzy:
Pliki wersji
Wersja 1 Health Platform zawiera:
- Pakiet SDK klienta: umieść ten pakiet SDK w aplikacji, aby korzystać z interfejsu Health Platform API. Pakiet SDK to repozytorium Maven, które możesz dołączyć bezpośrednio do plików kompilacji aplikacji Gradle.
Zainstaluj platformę Health
Aby zainstalować Health Platform, wykonaj te czynności:
W głównym pliku build.gradle
aplikacji dodaj repozytorium w następujący sposób:
allprojects {
...
repositories {
...
google()
}
}
Dodaj zależność od pakietu SDK Health Platform w pliku build.gradle
modułu, jak pokazano w tym przykładzie:
dependencies {
…
implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}
Dane
Health Platform przechowuje i organizuje dane o zdrowiu i aktywności fizycznej. Uwzględnia też podstawowe różnice między sposobem pomiaru danych różnych typów. Na przykład pomiar tętna jest wykonywany natychmiast, ale liczba kroków jest mierzona przez pewien czas.
Oto główne obiekty w Health Platform i czym się między nimi różnią:
RawData
: rekord pomiaru i danych.DataType
: specyfikator popularnych typów danych o zdrowiu i aktywności fizycznej, takich jak tętno, tkanka tłuszczowa czy temperatura ciała, oraz ich formaty, np. pola, tylko do odczytu lub opcjonalne.SampleData
: obiektRawData
, który jest natychmiastowy pomiarem, np. tętno, ciśnienie krwi lub prędkość biegu.IntervalData
: obiektRawData
, który stanowi skumulowane pomiary dokonane przez określony czas, np. liczba zrobionych kroków, przebytych dystansów czy spalonych kalorii.SeriesData
: obiektRawData
, który zawiera sekwencję pomiarów w danym okresie. UrządzenieSeriesData
najlepiej sprawdza się w przypadku danych z czujników o wysokiej częstotliwości, np. ciągłych próbek tętna podczas sesji aktywności.
Każda z 3 klas RawData
odpowiada konkretnej podklasie klasy DataType
: SampleData
, IntervalData
i SeriesData
odpowiada odpowiednio SampleDataType
, IntervalDataType
i SeriesDataType
.
Każdy obiekt RawData
otrzymuje unikalny identyfikator (UID) po wstawieniu przez platformę Health Platform. Możesz użyć tego identyfikatora UID, aby odwoływać się do konkretnego obiektu RawData
w żądaniach odczytu, aktualizacji lub usuwania.
Typy danych
Health Platform zawiera szeroki zestaw typów danych powszechnie używanych w aplikacjach związanych ze zdrowiem i aktywnością fizyczną. Dane przechowywane z dostępnymi typami danych zapewniają użytkownikom pełny wgląd w historyczne dane o zdrowiu, kondycji i samopoczuciu, dzięki czemu wiemy, co robili codziennie.
Każdy typ danych definiuje się przez format danych, do którego należą:
- Pola: określone lub ogólne pola powiązane z typem danych. Na przykład dane typu Nasycenie krwi tlenem (SpO2) zawierają pola takie jak Tytuł, Uwagi i Procent.
- Typ: długi, podwójny, ciąg lub wyliczenie.
- Atrybut: tylko do odczytu, wymagany, opcjonalny lub zakres weryfikacji.
Lista typów danych
Wykorzystaj w pełni możliwości platformy Health Platform, poznając dostępne typy danych. Health Platform obsługuje typy danych wymienione w tabeli poniżej. Typy danych są uporządkowane według formatu: próbka, przedział lub seria.
SampleData
typów:
DataType.BasalMetabolicRateDataType |
BASAL_METABOLIC_RATE |
Wymagane |
DataType.BloodGlucoseDataType |
BLOOD_GLUCOSE |
Wymagane i opcjonalne |
DataType.BloodPressureDataType |
BLOOD_PRESSURE |
Wymagane i opcjonalne |
DataType.BodyFatDataType |
BODY_FAT |
Wymagane |
DataType.BodyTemperatureDataType |
BODY_TEMPERATURE |
Wymagane i opcjonalne |
DataType.BoneMassDataType |
BONE_MASS |
Wymagane |
DataType.CervicalMucusDataType |
CERVICAL_MUCUS |
Opcjonalny |
DataType.CervicalPositionDataType |
CERVICAL_POSITION |
Opcjonalnie |
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 |
Opcjonalnie |
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 |
Wymagane i opcjonalne |
DataType.WaistCircumferenceDataType |
WAIST_CIRCUMFERENCE |
Wymagane |
DataType.WeightDataType |
WEIGHT |
Wymagane |
IntervalData
typów:
DataType.ActiveEnergyDataType |
ACTIVE_ENERGY_BURNED |
Wymagane |
DataType.ActiveTimeDataType |
ACTIVE_TIME |
Tylko do odczytu |
DataType.ActivityEventDataType |
ACTIVITY_EVENT |
Wymagane |
DataType.ActivityLapDataType |
ACTIVITY_LAP |
Opcjonalnie |
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 |
Opcjonalnie |
DataType.RepetitionsDataType |
REPETITIONS |
Wymagane |
DataType.SleepSessionDataType |
SLEEP_SESSION |
Opcjonalnie |
DataType.SleepStageDataType |
SLEEP_STAGE |
Wymagane |
DataType.StepsDataType |
STEPS |
Wymagane |
DataType.SwimmingStrokesDataType |
SWIMMING_STROKES |
Wymagane i opcjonalne |
DataType.TotalEnergyDataType |
TOTAL_ENERGY_BURNED |
Tylko do odczytu |
SeriesData
typów:
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 w ramach platformy Health Platform. Platforma udostępnia standardowe funkcje wstawiania, aktualizowania i usuwania nieprzetworzonych danych.
Odczyt danych zagregowanych
Platforma umożliwia klientom stosowanie funkcji agregacji w przypadku tych typów znaczników AggregatedData
:
StatisticalData
: średnie, minimalne lub maksymalne wartości w zestawieSampleData
lubSeriesData
, takie jak minimalne i maksymalne tętno podczas sesji aktywności.CumulativeData
: suma wartościIntervalData
, np. łączna liczba kroków w przedziale dziennym.CountData
: prosta liczba podstawowych obiektówRawData
, np. liczba sesji aktywności w danym tygodniu. Dane dotyczące liczby można obliczać w przypadku typów danych próbki, interwału i serii.
Połącz się z interfejsem Health Platform API
HealthDataClient
to punkt wejścia do interfejsu Health Platform API.
Aby połączyć aplikację z Health Platform, wykonaj te czynności:
- Użyj polecenia
HealthDataService.getClient
, aby utworzyć nowe instancjeHealthDataClient
. - Aplikacja kliencka musi następnie poprosić użytkownika o uprawnienia za pomocą metody
requestPermissions (Set)
.
HealthDataClient
automatycznie zarządza połączeniem z bazową warstwą pamięci masowej i obsługuje wszystkie komunikację między procesem (IPC) oraz serializację żądań wychodzących i odpowiedzi przychodzących.
Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy JavaScript jest wyłączony
- Aktywne dane i ćwiczenia
- Aktualizacje danych pasywnych
- Korzystanie z Jetpack Compose na Wear OS