Lập kế hoạch và xem xét các loại dữ liệu Health Connect

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ư timezoneOffset hoặc cụ thể như title, countpercentage. 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ư InstantZoneOffset. 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.