Health Platform API là một API Android cung cấp cho các nhà phát triển một giao diện để đọc, ghi và chia sẻ nhật ký dữ liệu về sức khoẻ thể chất và tinh thần cũng như hoạt động thể dục của người dùng. Người dùng có quyền kiểm soát dữ liệu của mình bằng Health Platform. Người dùng có thể kiểm soát ứng dụng nào có quyền đọc hoặc ghi vào các loại dữ liệu. Các loại dữ liệu của Health Platform API bao gồm chiều cao, nhịp tim và nhiều chỉ số khác.
Health Platform API cung cấp cho người dùng một cơ chế lưu trữ và chia sẻ để họ có thể chọn những ứng dụng có thể truy cập và hiển thị dữ liệu về sức khoẻ thể chất và tinh thần cũng như hoạt động thể dục của cá nhân. Nhờ có API này, các nhà phát triển ứng dụng có thể cung cấp cho người dùng thông tin đầy đủ hơn về sức khoẻ của họ và giúp họ theo dõi dữ liệu hiệu quả hơn.
Bộ tài liệu dành cho nhà phát triển phần mềm Health Platform API cung cấp cho các nhà phát triển ứng dụng Android mọi thứ họ cần để cấp quyền truy cập vào dữ liệu sức khoẻ thể chất và tinh thần của người dùng trên một số thiết bị Samsung, đồng thời cho phép các ứng dụng thực hiện thao tác hàng loạt, chẳng hạn như chèn, xoá và đọc dữ liệu.
Bắt đầu
Khi sử dụng Health Platform, hãy lưu ý những điều sau:
- Ứng dụng khách phải có các quyền chi tiết do người dùng cấp để đọc hoặc ghi.
- Người dùng có thể từ chối cấp quyền hoặc thu hồi quyền bất cứ lúc nào sau đó.
- Health Platform API chỉ hỗ trợ một số thiết bị Samsung.
HealthDataClient
là ứng dụng khách đối với Health Platform và là một điểm truy cập vào Health Platform.
Hình ảnh sau đây cho thấy những bước tích hợp cần thiết mà các nhà phát triển phải thực hiện:
Phát hành tệp
Bản phát hành Health Platform V1 chứa các thông tin sau:
- SDK ứng dụng: Đưa SDK này vào ứng dụng của bạn để sử dụng Health Platform API. SDK này là một kho lưu trữ Maven mà bạn có thể trực tiếp đưa vào các tệp bản dựng Gradle của ứng dụng.
Cài đặt Health Platform
Cài đặt Health Platform bằng cách làm theo các bước sau:
Trong tệp build.gradle
gốc của ứng dụng, thêm kho lưu trữ như trong ví dụ sau:
allprojects {
...
repositories {
...
google()
}
}
Thêm phần phụ thuộc SDK Health Platform vào tệp build.gradle
của mô-đun như trong ví dụ sau:
dependencies {
…
implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}
Dữ liệu
Health Platform lưu trữ và sắp xếp dữ liệu về sức khoẻ lẫn hoạt động thể dục. Health Platform cũng xem xét những điểm khác biệt cốt lõi giữa cách đo lường dữ liệu thuộc nhiều loại. Ví dụ: kết quả đo nhịp tim sẽ có ngay lập tức, nhưng kết quả về số bước thì sẽ có sau một khoảng thời gian.
Sau đây là những đối tượng chính trong Health Platform và sự khác biệt giữa các đối tượng này:
RawData
: một bản ghi dữ liệu và chỉ số đo lường.DataType
: thông số kỹ thuật cho các loại dữ liệu phổ biến về sức khoẻ và hoạt động thể dục, chẳng hạn như nhịp tim, lượng mỡ trong cơ thể hoặc nhiệt độ cơ thể và định dạng của dữ liệu đó, chẳng hạn như các trường chỉ có thể đọc hoặc không bắt buộc.SampleData
: đối tượngRawData
là chế độ đo tức thời, chẳng hạn như nhịp tim, huyết áp hoặc tốc độ chạy.IntervalData
: đối tượngRawData
là chế độ đo tích luỹ được thực hiện trong một khoảng thời gian, chẳng hạn như số bước, quãng đường đã đi hoặc lượng calo đã đốt cháy.SeriesData
: đối tượngRawData
đóng gói trình tự đo lường trong một khoảng thời gian.SeriesData
đặc biệt phù hợp với dữ liệu cảm biến tần số cao, chẳng hạn như các mẫu nhịp tim liên tục trong một phiên hoạt động.
Mỗi lớp trong số 3 lớp RawData
tương ứng với một lớp con cụ thể của DataType
: SampleData
, IntervalData
và SeriesData
tương ứng với SampleDataType
, IntervalDataType
và SeriesDataType
.
Mỗi đối tượng RawData
được Health Platform chỉ định một giá trị nhận dạng duy nhất (UID) khi được chèn. Bạn có thể sử dụng UID này để tham chiếu một đối tượng RawData
cụ thể trong các yêu cầu đọc, cập nhật hoặc xoá.
Loại dữ liệu
Health Platform bao gồm một tập hợp nhiều loại dữ liệu thường được dùng trên các ứng dụng sức khoẻ và thể dục. Dữ liệu được lưu trữ với những loại dữ liệu có sẵn sẽ mang lại cho người dùng cái nhìn toàn diện liên quan đến nhật ký dữ liệu về sức khoẻ thể chất và tinh thần cũng như hoạt động thể dục, đồng thời cho biết thông tin chi tiết về hoạt động hằng ngày của họ.
Mỗi loại dữ liệu được xác định theo định dạng dữ liệu, bao gồm những định dạng sau:
- Trường: các trường cụ thể hoặc trường chung liên kết với loại dữ liệu. Ví dụ: loại dữ liệu về độ bão hoà oxy trong máu (SpO2) có các trường như Tiêu đề, Ghi chú và Tỷ lệ phần trăm.
- Loại: long (dài), double (đôi), chuỗi hoặc enum (liệt kê).
- Thuộc tính: chỉ có thể đọc, bắt buộc, không bắt buộc hoặc dải xác thực.
Danh sách các loại dữ liệu
Hãy khai thác tối đa Health Platform bằng cách tìm hiểu các loại dữ liệu có sẵn. Health Platform hiện hỗ trợ các loại dữ liệu như trong bảng sau. Các loại dữ liệu được sắp xếp theo định dạng: mẫu, khoảng thời gian hoặc chuỗi.
Loại SampleData
:
DataType.BasalMetabolicRateDataType |
BASAL_METABOLIC_RATE |
Bắt buộc |
DataType.BloodGlucoseDataType |
BLOOD_GLUCOSE |
Bắt buộc và Không bắt buộc |
DataType.BloodPressureDataType |
BLOOD_PRESSURE |
Bắt buộc và Không bắt buộc |
DataType.BodyFatDataType |
BODY_FAT |
Bắt buộc |
DataType.BodyTemperatureDataType |
BODY_TEMPERATURE |
Bắt buộc và Không bắt buộc |
DataType.BoneMassDataType |
BONE_MASS |
Bắt buộc |
DataType.CervicalMucusDataType |
CERVICAL_MUCUS |
Không bắt buộc |
DataType.CervicalPositionDataType |
CERVICAL_POSITION |
Không bắt buộc |
DataType.CyclingPedalingCadenceDataType |
CYCLING_PEDALING_CADENCE |
Bắt buộc |
DataType.DateOfBirthDataType |
DATE_OF_BIRTH |
Chỉ có thể đọc |
DataType.GenderDataType |
GENDER |
Chỉ có thể đọc |
DataType.HeartRateDataType |
HEART_RATE |
Bắt buộc |
DataType.HeightDataType |
HEIGHT |
Bắt buộc |
DataType.HipCircumferenceDataType |
HIP_CIRCUMFERENCE |
Bắt buộc |
DataType.HrvDifferentialIndexDataType |
HRV_DIFFERENTIAL_INDEX |
Bắt buộc |
DataType.HrvRmssdDataType |
HRV_RMSSD |
Bắt buộc |
DataType.HrvSDataType |
HRV_S |
Bắt buộc |
DataType.HrvSd2DataType |
HRV_SD2 |
Bắt buộc |
DataType.HrvSdannDataType |
HRV_SDANN |
Bắt buộc |
DataType.HrvSdnnDataType |
HRV_SDNN |
Bắt buộc |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
Bắt buộc |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
Bắt buộc |
DataType.HrvSdsdDataType |
HRV_SDSD |
Bắt buộc |
DataType.HrvTinnDataType |
HRV_TINN |
Bắt buộc |
DataType.LeanBodyMassDataType |
LEAN_BODY_MASS |
Bắt buộc |
DataType.LocationDataType |
LOCATION |
Bắt buộc |
DataType.MenstruationDataType |
MENSTRUATION |
Không bắt buộc |
DataType.OvulationTestDataType |
OVULATION_TEST |
Bắt buộc |
DataType.OxygenSaturationDataType |
OXYGEN_SATURATION |
Bắt buộc |
DataType.PaceDataType |
PACE |
Bắt buộc |
DataType.PowerDataType |
POWER |
Bắt buộc |
DataType.RespiratoryRateDataType |
RESPIRATORY_RATE |
Bắt buộc |
DataType.RestingHeartRateDataType |
RESTING_HEART_RATE |
Bắt buộc |
DataType.SexualActivityDataType |
SEXUAL_ACTIVITY |
Bắt buộc |
DataType.SpeedDataType |
SPEED |
Bắt buộc |
DataType.StepsCadenceDataType |
STEPS_CADENCE |
Bắt buộc |
DataType.Vo2MaxDataType |
VO2_MAX |
Bắt buộc và Không bắt buộc |
DataType.WaistCircumferenceDataType |
WAIST_CIRCUMFERENCE |
Bắt buộc |
DataType.WeightDataType |
WEIGHT |
Bắt buộc |
Loại IntervalData
:
DataType.ActiveEnergyDataType |
ACTIVE_ENERGY_BURNED |
Bắt buộc |
DataType.ActiveTimeDataType |
ACTIVE_TIME |
Chỉ có thể đọc |
DataType.ActivityEventDataType |
ACTIVITY_EVENT |
Bắt buộc |
DataType.ActivityLapDataType |
ACTIVITY_LAP |
Không bắt buộc |
DataType.ActivitySessionDataType |
ACTIVITY_SESSION |
Bắt buộc |
DataType.BasalEnergyDataType |
BASAL_ENERGY_BURNED |
Chỉ có thể đọc |
DataType.DistanceDataType |
DISTANCE |
Bắt buộc |
DataType.ElevationGainedDataType |
ELEVATION_GAINED |
Bắt buộc |
DataType.FloorsClimbedDataType |
FLOORS_CLIMBED |
Bắt buộc |
DataType.HydrationDataType |
HYDRATION |
Bắt buộc |
DataType.NutritionDataType |
NUTRITION |
Không bắt buộc |
DataType.RepetitionsDataType |
REPETITIONS |
Bắt buộc |
DataType.SleepSessionDataType |
SLEEP_SESSION |
Không bắt buộc |
DataType.SleepStageDataType |
SLEEP_STAGE |
Bắt buộc |
DataType.StepsDataType |
STEPS |
Bắt buộc |
DataType.SwimmingStrokesDataType |
SWIMMING_STROKES |
Bắt buộc và Không bắt buộc |
DataType.TotalEnergyDataType |
TOTAL_ENERGY_BURNED |
Chỉ có thể đọc |
Loại SeriesData
:
DataType.CyclingPedalingCadenceSeriesDataType |
CYCLING_PEDALING_CADENCE |
Bắt buộc |
DataType.HeartRateSeriesDataType |
HEART_RATE |
Bắt buộc |
DataType.LocationSeriesDataType |
LOCATION |
Bắt buộc |
DataType.PaceSeriesDataType |
PACE |
Bắt buộc |
DataType.PowerSeriesDataType |
POWER |
Bắt buộc |
DataType.SpeedSeriesDataType |
SPEED |
Bắt buộc |
DataType.StepsCadenceSeriesDataType |
STEPS_CADENCE |
Bắt buộc |
Hàm dành cho nhà phát triển
Phần sau đây mô tả tập hợp các hàm dữ liệu chuẩn có sẵn trong Health Platform. Nền tảng này cung cấp các chức năng chuẩn như chèn, cập nhật và xoá cho dữ liệu thô.
Đọc AggregatedData
Nền tảng này cho phép các ứng dụng áp dụng hàm tổng hợp trên những loại AggregatedData
sau:
StatisticalData
: các giá trị trung bình, tối thiểu hoặc tối đa trong một tập hợpSampleData
hoặcSeriesData
, chẳng hạn như nhịp tim tối thiểu và tối đa trong một phiên hoạt động.CumulativeData
: tổng của các giá trịIntervalData
, chẳng hạn như tổng số bước trong một khoảng thời gian hằng ngày.CountData
: chỉ số đếm đơn giản về số đối tượngRawData
cơ bản, chẳng hạn như số phiên hoạt động trong một tuần nhất định. Dữ liệu về số lượng có thể được tính toán cho các loại dữ liệu mẫu, khoảng thời gian và chuỗi.
Kết nối với Health Platform API
HealthDataClient
là điểm truy cập vào Health Platform API.
Các bước sau đây sẽ mô tả cách kết nối với Health Platform:
- Hãy sử dụng
HealthDataService.getClient
để tạo các thực thểHealthDataClient
mới. - Sau đó, ứng dụng khách phải yêu cầu người dùng cấp quyền bằng phương thức
requestPermissions (Set)
.
HealthDataClient
tự động quản lý việc kết nối với lớp bộ nhớ cơ bản này, đồng thời xử lý mọi hoạt động Giao tiếp giữa các quá trình (IPC) cũng như quy trình chuyển đổi tuần tự các yêu cầu gửi đi và phản hồi gửi đến.
Đề xuất cho bạn
- Lưu ý: văn bản có đường liên kết sẽ hiển thị khi JavaScript tắt
- Dữ liệu hoạt động và các bài tập thể dục
- Cập nhật dữ liệu thụ động
- Sử dụng Jetpack Compose trên Wear OS