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 perlu 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 berat pengguna dan tingkat 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 dalam darah.
Format jenis data
Jenis data di Health Connect disimpan dalam objek yang merupakan subkelas 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—sementara yang lain menggunakan jenis kompleks seperti enumerasi dan class seperti Instant
dan ZoneOffset
. Atribut kolom ini dapat bersifat wajib atau opsional. Beberapa atribut bersifat hanya baca, dan beberapa atribut di-clamp ke rentang nilai tertentu.
Untuk 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. Objek 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 nilainya Anda berikan 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 mencatat data secara pasif (otomatis), dan pengguna yang mencatat data secara aktif atau manual.
ID Health Connect
Health Connect memberikan ID unik (UID) ke objek data yang baru disisipkan, yang mengidentifikasi objek data dan membedakannya dari objek data lain. ID Health Connect berguna dalam permintaan baca atau tulis. ID Health Connect tidak sama dengan ID Klien. Aplikasi klien menetapkan Client ID, sedangkan Health Connect menetapkan ID Health Connect secara eksklusif.
Perhatikan catatan berikut saat menggunakan ID Health Connect:
- Sesi memiliki satu ID Health Connect, tetapi data dalam sesi memiliki ID Health Connect 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 entri data yang baru saja dicatat pengguna.
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 menyetel offset zona berdasarkan zona waktu default sistem perangkat. Di Android 13 dan versi yang lebih lama (Level API 33 dan yang lebih rendah), 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
Referensi izin | Pernyataan izin baca |
---|---|
Pembacaan latar belakang |
android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
|
Pembacaan histori |
android.permission.health.READ_HEALTH_DATA_HISTORY
|
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.READ_EXERCISE_ROUTE android.permission.health.WRITE_EXERCISE android.permission.health.WRITE_EXERCISE_ROUTE Jenis latihanLihat semua jenis latihanEXERCISE_SESSION_TYPE_UNKNOWN EXERCISE_SESSION_TYPE_BADMINTON EXERCISE_SESSION_TYPE_BASEBALL EXERCISE_SESSION_TYPE_BASKETBALL EXERCISE_SESSION_TYPE_BIKING EXERCISE_SESSION_TYPE_BIKING_STATIONARY EXERCISE_SESSION_TYPE_BOOT_CAMP EXERCISE_SESSION_TYPE_BOXING EXERCISE_SESSION_TYPE_CALISTHENICS EXERCISE_SESSION_TYPE_CRICKET EXERCISE_SESSION_TYPE_DANCING EXERCISE_SESSION_TYPE_ELLIPTICAL EXERCISE_SESSION_TYPE_EXERCISE_CLASS EXERCISE_SESSION_TYPE_FENCING EXERCISE_SESSION_TYPE_FOOTBALL_AMERICAN EXERCISE_SESSION_TYPE_FOOTBALL_AUSTRALIAN EXERCISE_SESSION_TYPE_FRISBEE_DISC EXERCISE_SESSION_TYPE_GOLF EXERCISE_SESSION_TYPE_GUIDED_BREATHING EXERCISE_SESSION_TYPE_GYMNASTICS EXERCISE_SESSION_TYPE_HANDBALL EXERCISE_SESSION_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING EXERCISE_SESSION_TYPE_HIKING EXERCISE_SESSION_TYPE_ICE_HOCKEY EXERCISE_SESSION_TYPE_ICE_SKATING EXERCISE_SESSION_TYPE_MARTIAL_ARTS EXERCISE_SESSION_TYPE_PADDLING EXERCISE_SESSION_TYPE_PARAGLIDING EXERCISE_SESSION_TYPE_PILATES EXERCISE_SESSION_TYPE_RACQUETBALL EXERCISE_SESSION_TYPE_ROCK_CLIMBING EXERCISE_SESSION_TYPE_ROLLER_HOCKEY EXERCISE_SESSION_TYPE_ROWING EXERCISE_SESSION_TYPE_ROWING_MACHINE EXERCISE_SESSION_TYPE_RUGBY EXERCISE_SESSION_TYPE_RUNNING EXERCISE_SESSION_TYPE_RUNNING_TREADMILL EXERCISE_SESSION_TYPE_SAILING EXERCISE_SESSION_TYPE_SCUBA_DIVING EXERCISE_SESSION_TYPE_SKATING EXERCISE_SESSION_TYPE_SKIING EXERCISE_SESSION_TYPE_SNOWBOARDING EXERCISE_SESSION_TYPE_SNOWSHOEING EXERCISE_SESSION_TYPE_SOCCER EXERCISE_SESSION_TYPE_SOFTBALL EXERCISE_SESSION_TYPE_SQUASH EXERCISE_SESSION_TYPE_STAIR_CLIMBING EXERCISE_SESSION_TYPE_STAIR_CLIMBING_MACHINE EXERCISE_SESSION_TYPE_STRENGTH_TRAINING EXERCISE_SESSION_TYPE_STRETCHING EXERCISE_SESSION_TYPE_SURFING EXERCISE_SESSION_TYPE_SWIMMING_OPEN_WATER EXERCISE_SESSION_TYPE_SWIMMING_POOL EXERCISE_SESSION_TYPE_TABLE_TENNIS EXERCISE_SESSION_TYPE_TENNIS EXERCISE_SESSION_TYPE_VOLLEYBALL EXERCISE_SESSION_TYPE_WALKING EXERCISE_SESSION_TYPE_WATER_POLO EXERCISE_SESSION_TYPE_WEIGHTLIFTING EXERCISE_SESSION_TYPE_WHEELCHAIR EXERCISE_SESSION_TYPE_OTHER_WORKOUT EXERCISE_SESSION_TYPE_YOGA |
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 |
MindfulnessSession |
android.permission.health.READ_MINDFULNESS android.permission.health.WRITE_MINDFULNESS |
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 |
PlannedExerciseSession |
android.permission.health.READ_PLANNED_EXERCISE android.permission.health.WRITE_PLANNED_EXERCISE |
Daya |
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 |
android.permission.health.READ_SKIN_TEMPERATURE android.permission.health.WRITE_SKIN_TEMPERATURE |
SleepSession |
android.permission.health.READ_SLEEP android.permission.health.WRITE_SLEEP |
Speed |
android.permission.health.READ_SPEED android.permission.health.WRITE_SPEED |
Langkah |
android.permission.health.READ_STEPS android.permission.health.WRITE_STEPS |
StepsCadence |
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 |
Berat |
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 rendah
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.Exercise.READ androidx.health.permission.Exercise.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 Jenis latihanLihat semua jenis latihanEXERCISE_TYPE_UNKNOWN EXERCISE_TYPE_BADMINTON EXERCISE_TYPE_BASEBALL EXERCISE_TYPE_BASKETBALL EXERCISE_TYPE_BIKING EXERCISE_TYPE_BIKING_STATIONARY EXERCISE_TYPE_BOOT_CAMP EXERCISE_TYPE_BOXING EXERCISE_TYPE_CALISTHENICS EXERCISE_TYPE_CRICKET EXERCISE_TYPE_DANCING EXERCISE_TYPE_ELLIPTICAL EXERCISE_TYPE_EXERCISE_CLASS EXERCISE_TYPE_FENCING EXERCISE_TYPE_FOOTBALL_AMERICAN EXERCISE_TYPE_FOOTBALL_AUSTRALIAN EXERCISE_TYPE_FRISBEE_DISC EXERCISE_TYPE_GOLF EXERCISE_TYPE_GUIDED_BREATHING EXERCISE_TYPE_GYMNASTICS EXERCISE_TYPE_HANDBALL EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING EXERCISE_TYPE_HIKING EXERCISE_TYPE_ICE_HOCKEY EXERCISE_TYPE_ICE_SKATING EXERCISE_TYPE_MARTIAL_ARTS EXERCISE_TYPE_PADDLING EXERCISE_TYPE_PARAGLIDING EXERCISE_TYPE_PILATES EXERCISE_TYPE_RACQUETBALL EXERCISE_TYPE_ROCK_CLIMBING EXERCISE_TYPE_ROLLER_HOCKEY EXERCISE_TYPE_ROWING EXERCISE_TYPE_ROWING_MACHINE EXERCISE_TYPE_RUGBY EXERCISE_TYPE_RUNNING EXERCISE_TYPE_RUNNING_TREADMILL EXERCISE_TYPE_SAILING EXERCISE_TYPE_SCUBA_DIVING EXERCISE_TYPE_SKATING EXERCISE_TYPE_SKIING EXERCISE_TYPE_SNOWBOARDING EXERCISE_TYPE_SNOWSHOEING EXERCISE_TYPE_SOCCER EXERCISE_TYPE_SOFTBALL EXERCISE_TYPE_SQUASH EXERCISE_TYPE_STAIR_CLIMBING EXERCISE_TYPE_STAIR_CLIMBING_MACHINE EXERCISE_TYPE_STRENGTH_TRAINING EXERCISE_TYPE_STRETCHING EXERCISE_TYPE_SURFING EXERCISE_TYPE_SWIMMING_OPEN_WATER EXERCISE_TYPE_SWIMMING_POOL EXERCISE_TYPE_TABLE_TENNIS EXERCISE_TYPE_TENNIS EXERCISE_TYPE_VOLLEYBALL EXERCISE_TYPE_WALKING EXERCISE_TYPE_WATER_POLO EXERCISE_TYPE_WEIGHTLIFTING EXERCISE_TYPE_WHEELCHAIR EXERCISE_TYPE_OTHER_WORKOUT EXERCISE_TYPE_YOGA |
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.HeartRateVariability.READ androidx.health.permission.HeartRateVariability.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.Menstruation.READ androidx.health.permission.Menstruation.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 |
PlannedExerciseSession |
androidx.health.permission.PlannedExerciseSession.READ androidx.health.permission.PlannedExerciseSession.WRITE |
Daya |
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 |
Langkah |
androidx.health.permission.Steps.READ androidx.health.permission.Steps.WRITE |
StepsCadence |
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 |
Berat |
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 Anda 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, nyatakan 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 persetujuan khusus.