Health Connect lưu trữ và sắp xếp dữ liệu về sức khoẻ lẫn hoạt động thể chất. Báo cáo này cũng tính đến về cách đo lường các loại dữ liệu. Những loại dữ liệu này bao gồm cả tần số tim các số đo được thực hiện ngay lập tức, số bước đã đi theo thời gian và dữ liệu về giấc ngủ đã thu thập trong phiên hoạt động.
Trước tiên, bạn cần hiểu rõ loại dữ liệu và quyền nào Kết nối các ưu đãi để bạn có thể lập kế hoạch cho các yêu cầu của ứng dụng. Bằng cách đó, bạn bạn sẽ cần xem lại các loại dữ liệu của mình rồi mới có thể hoàn tất các yêu cầu.
Danh mục loại dữ liệu
Health Connect hỗ trợ các loại dữ liệu được dùng trên hầu hết các lĩnh vực sức khoẻ và hoạt động thể dục để cung cấp nhiều loại ứng dụng nhất có thể. Mục tiêu của Health Connect là cung cấp chế độ xem và lưu trữ toàn diện dữ liệu sức khoẻ cũng như hoạt động thể dục. Các loại dữ liệu này thuộc thành các danh mục sau:
- Hoạt động: Mục này ghi lại mọi hoạt động người dùng thực hiện. Dữ liệu này có thể bao gồm các hoạt động về sức khoẻ và thể chất như chạy, bơi và ngủ.
- Số đo cơ thể: Mục này thu thập dữ liệu phổ biến liên quan đến cơ thể, chẳng hạn như trọng lượng và tỷ lệ trao đổi chất cơ bản của người dùng.
- Theo dõi chu kỳ kinh nguyệt: Mục này ghi lại chu kỳ kinh nguyệt và các dữ liệu liên quan, chẳng hạn như kết quả nhị phân của xét nghiệm rụng trứng.
- Dinh dưỡng: Mục này thu thập các loại dữ liệu về lượng nước và dinh dưỡng. Tuỳ chọn trước đây thể hiện lượng nước một người dùng tiêu thụ trong một lần uống. Chính sách sau bao gồm các trường không bắt buộc như lượng calo, đường và magiê.
- Dữ liệu giấc ngủ: Mục này thu thập dữ liệu khoảng thời gian liên quan đến thời lượng và kiểu ngủ của người dùng.
- Chỉ số sức khoẻ: Mục này thu thập thông tin thiết yếu về sức khoẻ tổng thể của người dùng. Dữ liệu này bao gồm các dữ liệu như thân nhiệt, đường huyết, máu áp lực và độ bão hoà oxy trong máu.
Định dạng loại dữ liệu
Các loại dữ liệu trong Health Connect được lưu trữ trong đối tượng là lớp con của
Record
.
Đối với mỗi loại dữ liệu, có các trường liên kết hoặc mang tính chung chung, chẳng hạn như
time
và zoneOffset
hoặc cụ thể như title
, count
và percentage
.
Một số trường sử dụng các loại đơn giản (chẳng hạn như dài, đôi hoặc chuỗi) trong khi các trường khác sử dụng
các kiểu phức tạp như enum và các lớp như Instant
và
ZoneOffset
. Thuộc tính của các trường này có thể là thuộc tính bắt buộc hoặc
không bắt buộc. Một số thuộc tính chỉ có thể đọc và một số thuộc tính được gắn với một
phạm vi giá trị cụ thể.
Để xem danh sách đầy đủ các loại dữ liệu có sẵn và trường của các loại dữ liệu đó, hãy tham khảo các lớp trong Jetpack.
Thuộc tính dữ liệu bổ sung
Dữ liệu trong API Health Connect cũng bao gồm các thuộc tính siêu dữ liệu được mô tả trong danh sách sau đây:
- Mã nhận dạng trên Health Connect: Mỗi điểm dữ liệu được gán một mã nhận dạng duy nhất (UID) khi được tạo. Điều này rất hữu ích cho các thao tác đọc và ghi tiêu chuẩn. Hãy xem Mã nhận dạng Health Connect để biết thêm chi tiết.
- Thời gian sửa đổi gần đây nhất: Mục này đánh dấu dấu thời gian của bản ghi sau cùng có bản cập nhật. Nó được tạo tự động vào lần tạo đầu tiên của hoặc về mọi bản cập nhật.
- Nguồn gốc dữ liệu: Health Connect lưu trữ thông tin về ứng dụng mà nguồn dữ liệu. Tệp này chứa tên gói của nguồn gốc đó, tức là được thêm tự động khi tạo.
- Thiết bị: Health Connect lưu trữ thông tin về thiết bị cung cấp dữ liệu. Trong đó có thông tin về nhà sản xuất và kiểu máy của thiết bị mà bạn cung cấp giá trị theo cách thủ công.
- Mã ứng dụng khách: Health Connect cung cấp mã ứng dụng khách để các ứng dụng khách có thể tham chiếu đến dữ liệu bằng mã riêng của chúng, giúp giải quyết xung đột và giúp đồng bộ hoá dễ dàng hơn. Giá trị này được cung cấp cho bản ghi theo cách thủ công.
- Phiên bản bản ghi ứng dụng: Cùng với mã ứng dụng khách, Health Connect cung cấp để giúp theo dõi các thay đổi trong quá trình đồng bộ hoá dữ liệu. Giá trị này được cung cấp cho bản ghi theo cách thủ công.
- Phương pháp ghi: Health Connect giúp bạn hiểu cách dữ liệu được ghi lại. Các phương pháp này bao gồm các ứng dụng ghi lại dữ liệu theo cách thụ động (tự động) và người dùng ghi lại dữ liệu theo cách chủ động hoặc thủ công.
Mã nhận dạng Health Connect
Health Connect chỉ định giá trị nhận dạng duy nhất (UID) cho các đối tượng dữ liệu mới được chèn, giúp xác định đối tượng dữ liệu và phân biệt chúng với nhau. Mã nhận dạng Health Connect rất hữu ích trong yêu cầu đọc hoặc ghi. Mã nhận dạng Health Connect không giống với Mã ứng dụng khách. Ứng dụng khách gán Mã ứng dụng khách, trong khi Health Connect chỉ gán chỉ định mã nhận dạng Health Connect.
Bạn cần lưu ý những ghi chú sau đây khi làm việc với mã nhận dạng Health Connect:
- Phiên hoạt động có một mã Health Connect duy nhất, nhưng dữ liệu trong các phiên đó có mã nhận dạng Health Connect riêng.
- Mã nhận dạng Health Connect không gắn liền hoặc liên quan đến dấu thời gian.
- Một số trường hợp sử dụng có thể yêu cầu lưu trữ một mã Health Connect cụ thể trong một quy trình làm việc. Ví dụ: bạn cần có một mã nhận dạng cụ thể để truy xuất và hiển thị cho cho người dùng mục dữ liệu mà họ vừa ghi nhật ký.
Thời gian trong Health Connect
Tất cả dữ liệu được ghi vào Health Connect phải nêu rõ thông tin về chênh lệch múi giờ. Việc chỉ định chênh lệch múi giờ cho phép các ứng dụng đọc dữ liệu để thể hiện dữ liệu đó giờ dân sự. Giờ tiêu chuẩn là thời gian theo địa phương và liên quan đến người dùng, nhưng không nhất thiết phải theo Giờ phối hợp quốc tế (UTC).
Trong một số ít trường hợp, sự chênh lệch múi giờ có thể không được áp dụng. Khi điều này xảy ra trong Android 14 (API cấp 34), Health Connect đặt chênh lệch múi giờ dựa trên múi giờ mặc định của hệ thống. Trên Android 13 trở xuống (API cấp 33 trở xuống), bạn có thể ghi vào Health Connect mà không cần chỉ định mọi thông tin về chênh lệch múi giờ, phải tránh bất cứ khi nào có thể.
Chế độ cài đặt giờ và múi giờ
Việc nêu rõ thông tin về chênh lệch múi giờ trong quá trình ghi dữ liệu sẽ cung cấp thông tin về múi giờ khi đọc dữ liệu trong Health Connect. Tuy nhiên, có thể không trong một số trường hợp nhất định, chẳng hạn như khi chênh lệch múi giờ không được cung cấp. Ứng dụng của bạn cần được chuẩn bị để xử lý cả hai loại dữ liệu theo cách phù hợp cho các trường hợp cụ thể.
Quyền
Trước khi yêu cầu quyền, ứng dụng phải khai báo trước các quyền đó trong tệp kê khai. Hãy xem các bảng sau để biết mối liên kết đầy đủ giữa các loại dữ liệu và quyền truy cập.
Đối với phiên bản 1.0.0-alpha10 trở lên
Kiểu lớp bản ghi | Khai báo quyền đọc và ghi thông tin |
---|---|
ActiveCaloriesBurned |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
BloodGlucose |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
BodyFat |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS |
CervicalMucus |
android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Distance |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
Height |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Hydration |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
LeanBodyMass |
android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS |
MenstruationFlow |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
MenstruationPeriod |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
Nutrition |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
Power |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Speed |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Steps |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED |
Vo2Max |
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX |
Weight |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
Đối với phiên bản 1.0.0-alpha09 trở xuống
Kiểu lớp bản ghi | Khai báo quyền đọc và ghi thông tin |
---|---|
ActiveCaloriesBurned |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass |
androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Distance |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
Height |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Hydration |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
LeanBodyMass |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
MenstruationFlow |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
Nutrition |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Power |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Speed |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Steps |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
Vo2Max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
Weight |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
Xem các loại dữ liệu và quyền của bạn
Giờ đây, khi đã lên kế hoạch cho các loại dữ liệu và quyền, bạn có thể triển khai trong quá trình phát triển.
Khi xem xét ứng dụng của bạn trước khi tải lên Cửa hàng Play, hãy kiểm tra kỹ danh sách các loại dữ liệu và quyền mà ứng dụng của bạn yêu cầu. Điều này cho phép bạn khai báo chính xác hoạt động sử dụng dữ liệu của ứng dụng.
Khi bạn chuẩn bị xuất bản ứng dụng lên Cửa hàng Play, khai báo quyền truy cập vào các loại dữ liệu Health Connect mà ứng dụng của bạn sử dụng. Nếu không, người dùng có thể nhận được thông báo lỗi khi ứng dụng của bạn không thể truy cập vào các loại dữ liệu Health Connect vì các loại dữ liệu này yêu cầu đặc biệt phê duyệt.