Health Connect menyimpan dan menyusun data kesehatan dan kebugaran. Laporan ini juga memperhitungkan cara pengukuran berbagai jenis data. Jenis data ini mencakup pengukuran detak jantung yang dilakukan langsung, jumlah langkah yang diambil dari waktu ke waktu, dan data tidur yang diambil dalam sesi.
Penting untuk memahami terlebih dahulu jenis data dan izin yang ditawarkan Health Connect agar Anda dapat merencanakan persyaratan aplikasi. Dengan demikian, Anda harus meninjau jenis data sebelum dapat menyelesaikan persyaratan.
Kategori jenis data
Health Connect mendukung jenis data yang digunakan di sebagian besar aplikasi kesehatan dan kebugaran untuk memberikan variasi sebanyak mungkin. Health Connect bertujuan untuk menawarkan tampilan dan penyimpanan data kesehatan dan kebugaran yang komprehensif. Jenis data ini termasuk dalam kategori berikut:
- Aktivitas: Kategori ini merekam aktivitas yang dilakukan pengguna. Kategori ini dapat mencakup aktivitas kesehatan dan kebugaran seperti berlari dan berenang.
- Pengukuran Tubuh: Kategori ini merekam data umum terkait tubuh, seperti bobot pengguna dan laju metabolisme basalnya.
- Pencatatan Siklus: Kategori ini merekam siklus menstruasi dan titik data terkait, seperti hasil biner uji ovulasi.
- Gizi: Kategori ini merekam jenis data hidrasi dan gizi. Data pertama menunjukkan seberapa banyak air yang dikonsumsi pengguna dalam satu kali minum. Data yang kedua mencakup kolom opsional seperti kalori, gula, dan magnesium.
- Tidur: Kategori ini merekam data interval yang terkait dengan durasi dan jenis tidur pengguna.
- Tanda Vital: Kategori ini merekam informasi penting tentang kesehatan umum pengguna. Informasi ini mencakup data seperti suhu tubuh, glukosa darah, tekanan darah, dan saturasi oksigen darah.
Format jenis data
Jenis data di Health Connect disimpan dalam objek yang merupakan subclass dari
Record
.
Untuk setiap jenis data, ada kolom terkait yang bersifat umum seperti
time
dan zoneOffset
, atau spesifik seperti title
, count
, dan percentage
.
Beberapa kolom menggunakan jenis sederhana—seperti long, double, atau string—sedangkan kolom lainnya menggunakan
jenis kompleks seperti enumerasi dan class seperti Instant
dan
ZoneOffset
. Atribut kolom ini dapat bersifat wajib atau
opsional. Beberapa atribut hanya dapat dibaca, dan beberapa atribut dibatasi ke
rentang nilai tertentu.
Untuk mengetahui daftar lengkap jenis data yang tersedia dan kolomnya, lihat class di Jetpack.
Atribut data tambahan
Data di Health Connect API juga mencakup atribut metadata yang dijelaskan dalam daftar berikut:
- ID Health Connect: Setiap titik data ditetapkan dengan ID unik (UID) saat pembuatan. Hal ini berguna untuk operasi baca dan tulis standar. Lihat ID Health Connect untuk mengetahui detail selengkapnya.
- Waktu terakhir diubah: Tindakan ini menandai stempel waktu saat instance terakhir data memiliki update. ID ini otomatis dibuat pada saat pembuatan pertama data atau pada setiap update.
- Asal data: Health Connect menyimpan informasi tentang aplikasi asal data. Kode ini berisi nama paket asal tersebut, yang ditambahkan secara otomatis saat pembuatan.
- Perangkat: Health Connect menyimpan informasi tentang perangkat asal data. Kode ini berisi produsen dan model perangkat tersebut, yang Anda berikan nilainya secara manual.
- Client ID: Health Connect menyediakan Client ID sehingga aplikasi klien dapat merujuk ke data menggunakan ID-nya sendiri, yang membantu penyelesaian konflik dan mempermudah sinkronisasi. Ini disediakan ke data secara manual.
- Versi data klien: Bersama dengan Client ID, Health Connect memberikan versi untuk membantu melacak perubahan selama sinkronisasi data. Ini disediakan ke data secara manual.
- Metode perekaman: Health Connect memungkinkan Anda memahami cara data direkam. Metode ini mencakup aplikasi yang merekam data secara pasif (otomatis), dan pengguna yang merekam data secara aktif atau manual.
ID Health Connect
Health Connect menetapkan ID unik (UID) ke objek data yang baru disisipkan, yang mengidentifikasi objek data dan membedakannya dari yang lain. ID Health Connect berguna dalam permintaan baca atau tulis. ID Health Connect tidak sama dengan Client ID. Aplikasi klien menetapkan Client ID, sedangkan Health Connect secara eksklusif menetapkan ID Health Connect.
Perhatikan catatan berikut saat menggunakan ID Health Connect:
- Sesi memiliki satu ID Health Connect, tetapi data dalam sesi memiliki ID Health Connect-nya sendiri.
- ID Health Connect tidak terikat atau terkait dengan stempel waktu.
- Beberapa kasus penggunaan mungkin memerlukan penyimpanan ID Health Connect tertentu selama alur kerja. Misalnya, ID tertentu diperlukan untuk mengambil dan menampilkan kepada pengguna entri data yang baru saja mereka catat.
Waktu di Health Connect
Semua data yang ditulis ke Health Connect harus menentukan informasi offset zona waktu. Menentukan offset zona waktu memungkinkan aplikasi membaca data untuk mewakilinya dalam waktu sipil. Waktu sipil adalah waktu yang bersifat lokal dan relevan bagi pengguna, tetapi tidak harus dalam Waktu Universal Terkoordinasi (Coordinated Universal Time/UTC).
Dalam kasus yang jarang terjadi, offset zona waktu mungkin tidak tersedia. Jika hal ini terjadi di Android 14 (Level API 34), Health Connect akan menetapkan offset zona berdasarkan zona waktu default sistem perangkat. Di Android 13 dan versi yang lebih lama (Level API 33 dan yang lebih lama), Anda dapat menulis ke Health Connect tanpa menentukan informasi offset zona waktu, yang harus dihindari jika memungkinkan.
Setelan waktu dan zona
Menentukan informasi offset zona waktu saat menulis data memberikan informasi zona waktu saat membaca data di Health Connect. Namun, tindakan ini dapat gagal dalam situasi tertentu, seperti saat offset zona waktu tidak diberikan. Aplikasi Anda harus siap menangani kedua jenis data, dengan cara yang sesuai dengan situasi tertentu.
Izin
Sebelum meminta izin apa pun, aplikasi Anda harus mendeklarasikannya dalam manifes terlebih dahulu. Lihat tabel berikut untuk pemetaan lengkap jenis data dan izinnya.
Untuk 1.0.0-alpha10 dan yang lebih tinggi
Jenis class kumpulan data | Membaca dan menulis pernyataan izin |
---|---|
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 |
PlannedExercise |
android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE |
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 |
SkinTemperature |
androidx.health.permission.SkinTemperature.READ
androidx.health.permission.SkinTemperature.WRITE |
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 |
Untuk 1.0.0-alpha09 dan yang lebih lama
Jenis class kumpulan data | Membaca dan menulis pernyataan izin |
---|---|
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 |
Meninjau jenis data dan izin Anda
Setelah merencanakan jenis data dan izin, Anda dapat menerapkannya selama pengembangan.
Saat meninjau aplikasi sebelum menguploadnya ke Play Store, periksa kembali daftar jenis data dan izin yang diperlukan aplikasi Anda. Hal ini memungkinkan Anda mendeklarasikan penggunaan data aplikasi secara akurat.
Saat Anda bersiap untuk memublikasikan aplikasi ke Play Store, deklarasikan akses ke jenis data Health Connect yang digunakan aplikasi Anda. Jika tidak, pengguna mungkin akan melihat pesan error yang menyatakan bahwa aplikasi Anda tidak dapat mengakses jenis data Health Connect karena memerlukan izin khusus.