Kesehatan

  
Membuat aplikasi kesehatan yang bekerja baik dengan cara yang tidak bergantung pada platform.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
11 Desember 2024 - 1.0.0-rc02 - 1.1.0-alpha05

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Health, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

dependencies {
    implementation "androidx.health:health-services-client:1.1.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.health:health-services-client:1.1.0-alpha03")
}

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Health Connect Client Versi 1.0

Versi 1.0.0-alpha04

24 Agustus 2022

Mulai versi 1.0.0-alpha04, androidx.health:health-connect-client dimigrasikan ke androidx.health.connect:connect-client. Untuk selanjutnya, rilis harus menggunakan androidx.health.connect:connect-client dan catatan rilis terkait di halaman Health Connect kami.

Untuk melakukan migrasi, cukup ubah impor dependensi dari androidx.health:health-connect-client:1.0.0-alpha03 ke androidx.health.connect:connect-client:1.0.0-alpha04.

Versi 1.0.0-alpha03

27 Juli 2022

androidx.health:health-connect-client:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Fitur Baru

  • Ringkasan perubahan API baru: sekumpulan unit telah ditambahkan ke API baca, tulis, dan agregat. Aplikasi kini dapat mengambil atau menulis catatan dengan satuan pilihannya, seperti gram atau miligram untuk zat gizi NutritionRecord.

Perubahan API

  • Memperbaiki List<DataOrigin> menjadi Set<DataOrigin> di berbagai objek respons permintaan. (I42342)
  • Memperbaiki satuan total kalori basal dari Daya->Energi. (I0b429)
  • Memindahkan class contoh rangkaian di dalam catatan rangkaian (Ica9bb):
    • CyclingPedalingCadence -> CyclingPedalingCadenceRecord.Sample
    • HeartRate -> HeartRateRecord.Sample
    • StepsCadence -> StepsCadenceRecord.Sample
  • Menghentikan penggunaan class HealthDataRequestPermission, yang mendukung PermissionController.createRequestPermissionActivityContract; Hal ini akan meningkatkan visibilitas dan parameterisasi terpadu. (I81e7f)
  • Menambahkan satuan ounce cairan (AS) ke Volume. (I5f03d)
  • Menambahkan jenis satuan Kecepatan (I1d574)
  • Menambahkan jenis satuan Persentase (I08f23)
  • Menambahkan jenis satuan Tekanan (Ifb01f)
  • Menambahkan jenis satuan Massa (Ifd81a)
  • Menambahkan jenis satuan Volume (I59ad1)
  • Menambahkan jenis satuan Daya. Memindahkan class contoh rangkaian Daya di dalam class PowerRecord. (I5b1e5)
  • Menambahkan jenis satuan Energi (I983ae)
  • Menambahkan jenis satuan Suhu (I4cdb5)
  • Mengganti nama referensi Activity menjadi spesifik untuk Latihan, termasuk (I3f936):
    • Mengganti nama ActivityLap -> ExerciseLapRecord
    • Mengganti nama ActivityEvent -> ExerciseEventRecord
    • Mengganti nama Repetitions -> ExerciseRepetitionsRecord
    • Mengganti nama ActivitySession -> ExerciseSessionRecord
  • Memindahkan metadata paket bertingkat pada catatan. (Ie0835)
  • Menggunakan satuan Panjang di semua catatan yang tersisa (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • Menambahkan jenis satuan Panjang (Idae39)
  • Memperbarui terminologi deskripsi CervicalMucus (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • Menambahkan akhiran 'Record' ke semua nama class catatan (I1ffc2)

Perbaikan Bug

  • Memperbaiki masalah proguard saat lib dibuat dengan ragam rilis dan minifyEnabled berlaku. (I78933)
  • Menyembunyikan dokumentasi yang tidak ditujukan untuk penggunaan publik. (I7a08f)
  • Memperbaiki masalah pada klien yang mungkin memiliki dependensi protobufnya sendiri.(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)

Versi 1.0.0-alpha02

1 Juni 2022

androidx.health:health-connect-client:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perubahan API

  • Menghentikan penggunaan hasMetric dan getMetric di AggregationResult, menambahkan penampung, dan mendapatkan operator (I7cc7c)
  • Menambahkan OvulationTest.Result.HIGH dan OvulationTest.Result.INCONCLUSIVE. (I9f9c4)

Perbaikan Bug

  • Menurunkan persyaratan SDK menjadi 26. (I6d201)

Versi 1.0.0-alpha01

11 Mei 2022

androidx.health:health-connect-client:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

  • API untuk membaca catatan kebugaran dan kesehatan yang dibagikan oleh aplikasi lain.
  • API untuk menulis catatan kebugaran dan kesehatan untuk dibagikan dengan aplikasi lain.
  • API untuk mengambil metrik gabungan untuk catatan yang dapat diakses.
  • API untuk mengambil perubahan inkremental (menyisipkan, memperbarui, atau menghapus) catatan oleh aplikasi lain.
  • API untuk meminta izin kesehatan kepada pengguna.
  • API untuk memeriksa izin atau mencabut izin kesehatan yang diberikan.

Health Services Client Versi 1.1

Versi 1.1.0-alpha05

11 Desember 2024

androidx.health:health-services-client:1.1.0-alpha05, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05, dan androidx.health:health-services-client-proto:1.1.0-alpha05 dirilis. Versi 1.1.0-alpha05 berisi commit ini.

Fitur Baru

  • Kini menyertakan aturan proguard untuk menghindari penghapusan class yang diperlukan. (65d0c3f)

Perbaikan Bug

  • Library ini kini menggunakan anotasi nullness JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Iaf73a, b/326456246)

Versi 1.1.0-alpha04

16 Oktober 2024

androidx.health:health-services-client:1.1.0-alpha04, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04, dan androidx.health:health-services-client-proto:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit ini.

Perbaikan Keamanan

  • Mulai perubahan ini, androidx dikompilasi terhadap protobuf 4.28.2 untuk mengatasi CVE-2024-7254. Upgrade dependensi Anda pada androidx.health:health-services-client ke 1.1.0-alpha04 terbaru untuk mengatasi risiko kerentanan.

Versi 1.1.0-alpha02

13 Desember 2023

androidx.health:health-services-client:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit berikut ini.

Perubahan API

  • Gunakan satu sumber tepercaya untuk ExerciseEvent yang didukung. (I03308)

Perbaikan Bug

  • Perbaikan bug minor dan peningkatan dokumentasi.

Versi 1.1.0-alpha01

9 Agustus 2023

androidx.health:health-services-client:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.

Fitur Baru

  • ExerciseEvent API telah ditambahkan bersama peristiwa konkret pertama: GolfShotEvent. Primitif ExerciseEvent memungkinkan developer membuat kueri dukungan dan meminta untuk diberi tahu saat smartwatch mendeteksi sesuatu telah terjadi. GolfShotEvent sebagai contoh memungkinkan developer menerima notifikasi saat pengguna mengambil pukulan golf selain menerima jenis ayunan yang dikenali.

Perubahan API

  • Mengaktifkan klien WHS SDK untuk menggunakan fungsi GolfShotEvent. (I76b03)

Perbaikan Bug

  • Daripada menampilkan pengecualian secara agresif saat melihat kemampuan peristiwa olahraga yang tidak dikenal, filter kemampuan tersebut dari daftar. (I06afc)

Health Services Client Versi 1.0

Versi 1.1.0-alpha03

14 Mei 2024

androidx.health:health-services-client:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.

Fitur Baru

  • Memperkenalkan DebouncedGoal API yang memungkinkan pelacakan sasaran untuk jenis data sampel atau jenis data sampel statistik selama olahraga dengan fitur debouncing(initialDelay dan durationAtThreshold). (I09be9)
  • Menambahkan contoh metrik berjalan lanjutan dan DataTypes statistik berikut. (I0b8b5):
    • Ground Contact Time
    • Vertical Oscillation
    • Vertical Ratio
    • Stride Length

Perubahan API

  • Menambahkan ELEVATION_GAIN_DAILY DataType. (I059d1)
  • Menambahkan SWIM_LAP_COUNT_TOTAL DataType sebagai DataType gabungan untuk SWIM_LAP_COUNT. (I0beeb)

Perbaikan Bug

  • Memperbaiki berbagai masalah untuk meningkatkan keandalan IPC.

Versi 1.0.0-rc02

3 April 2024

androidx.health:health-services-client:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini. Ini adalah rilis khusus perbaikan bug dan tidak berisi perubahan API.

Perbaikan Bug

  • Memperbaiki berbagai masalah untuk meningkatkan keandalan IPC
  • Memperbaiki masalah saat memanggil startExercise secara bersamaan dengan prepareExercise dapat menyebabkan ConcurrentModificationException (4e37773)
  • Dokumentasi yang ditingkatkan

Versi 1.0.0-rc01

26 Juli 2023

androidx.health:health-services-client:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit berikut ini.

Fitur Baru

  • Fitur Kesehatan telah dipindahkan ke 1.0.0-rc01 setelah stabil dalam versi beta.

Perubahan API

  • Menggabungkan file API publik dan eksperimental untuk jalur h- hingga m. (Ic4630, b/278769092)
  • T/A, perubahan file API hanyalah metode pengurutan ulang. (I5fa95)

Versi 1.0.0-beta03

5 April 2023

androidx.health:health-services-client:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit berikut ini.

Fitur Baru

BatchingMode kini dapat dikonfigurasi untuk mengirimkan data olahraga dalam batch pada interval yang dikonfigurasi, bukan default selama olahraga aktif, baik pada awal olahraga melalui ExerciseConfig atau selama dengan metode penggantian. Dukungan untuk hal ini akan diaktifkan oleh rilis Fitur Kesehatan mendatang di Google Play Store dan dapat diperiksa melalui kemampuan olahraga. Catatan: mode pengelompokan akan diterapkan saat perangkat dalam status daya non-interaktif, dan akan menyebabkan peningkatan konsumsi daya.

Perubahan API

  • Menampilkan HealthServicesException saat fungsi penangguhan overrideBatchingModesForActiveExercise gagal (Ifd387)
  • Memperkenalkan fungsi penangguhan untuk overrideBatchingModesForActiveExercise API asinkron sehingga lebih cocok untuk kotlin (I7dd15)
  • BatchingMode mengganti opsional di ExerciseConfig (Id22e9)

Perbaikan Bug

  • Perbaikan kecil DataType dan ExerciseUpdate (5e185f)

Versi 1.0.0-beta02

11 Januari 2023

androidx.health:health-services-client:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.

Fitur Baru

  • Menambahkan fungsi ekstensi suspend untuk ListenableFuture API asinkron yang ada di ExerciseClient, PassiveMonitoringClient, dan MeasureClient untuk dukungan Kotlin yang lebih baik. (Iadea4)
  • Menambahkan ExerciseTypeConfig API yang memungkinkan update selama latihan berlangsung. Menambahkan GolfExerciseTypeConfig untuk mendukung update ExerciseTypeConfig selama latihan golf. (I4c539)

Perubahan API

  • Menampilkan HealthServicesException pada fungsi penangguhan (I5e509)
  • Menambahkan konstruktor lain untuk kompatibilitas mundur (Iddeda)
  • Menampilkan RuntimeException pada fungsi penangguhan (I53bca)
  • Menghapus implementasi default saat menampilkan Exception (Id947f)
  • Menambahkan anotasi @JvmDefaultWithCompatibility (I8f206)

Perbaikan Bug

  • Menambahkan ke kdoc agar lebih jelas (Ide285)
  • Mengizinkan pelacakan pemantauan pasif untuk sasaran hanya jika jenis data yang sama juga dilacak (Ibed8d)

Versi 1.0.0-beta01

24 Oktober 2022

androidx.health:health-services-client:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

Fitur Baru

  • Menambahkan kemampuan untuk memproses peristiwa kesehatan melalui PassiveMonitoringClient dengan peristiwa pertama: HealthEvent.FALL_DETECTED.

  • ExerciseTypes Baru:

    • ALPINE_SKIING
    • BACKPACKING
    • CROSS_COUNTRY_SKIING
    • HORSE_RIDING
    • INLINE_SKATING
    • MOUNTAIN_BIKING
    • ORIENTEERING
    • ROLLER_SKATING
    • YACHTING
  • DataTypes Baru:

    • ELEVATION_LOSS
    • GOLF_SHOT_COUNT

Perubahan API

  • Memperbarui cara data dimodelkan: model data dan cara DataType, DataPoint, serta nilai dasar direpresentasikan telah dirombak. Pengaruh utamanya adalah sekarang API menjadi jauh lebih eksplisit dan memiliki jenis yang aman.
  • DataPoint lokasi tidak lagi direpresentasikan sebagai DoubleArray, tetapi sebagai objek LocationData yang berjenis kuat.
  • Dipindahkan ke kumpulan API pemroses pasif baru:
    • Siaran digantikan oleh PassiveListenerService.
    • Pemroses yang ada telah diganti dengan satu pemroses: PassiveListenerCallback.
  • Menambahkan tag <queries> ke manifes Health Services sehingga aplikasi tidak perlu lagi menentukan ini dalam manifesnya (penggabung manifes yang diberikan diaktifkan di sistem build-nya).
  • Dipindahkan dari banyak ExerciseState untuk menyatakan latihan berakhir/diakhiri dan menambahkan status latihan baru ENDING dan ENDED. Sekarang status ini digabungkan dengan ExerciseEndReason untuk menyatakan gamut lengkap status sebelumnya.
  • Mengganti nama PassiveListenerConfig setPassiveGoals menjadi setDailyGoals agar lebih mencerminkan bahwa kami hanya mendukung sasaran pasif harian.
  • Sekarang PassiveGoal selalu REPEATED, TriggerFrequency pasif dihapus.
  • Menganotasikan semua parameter Long dan Double dengan @FloatRange.
  • Menambahkan properti swimmingPoolLengthMeters ke ExerciseConfig yang dapat ditentukan secara opsional untuk meningkatkan penghitungan jarak berenang di kolam renang.
  • ExerciseUpdate.activeDuration tidak digunakan lagi. Sebagai gantinya, gunakan ExerciseUpdate.activeDurationCheckpoint.
  • Mengganti nama API flushExerciseAsync() menjadi flushAsync() di ExerciseClient.
  • Mengganti nama Measure.registerCallback menjadi Measure.registerMeasureCallback.
  • Perubahan penamaan umum:
    • Sekarang properti jarak memiliki akhiran meters.
    • Nama metode callback kini sudah tidak ada.
    • Sebagian besar singkatan telah dihapus (sekarang HrAccuracy menjadi HeartRateAccuracy.)
    • Properti yang mengikuti pola enableFoo kini diberi nama isFooEnabled.
  • Dimigrasikan dari Enums.
  • Waktu yang sebelumnya dinyatakan dalam Double kini dinyatakan dalam Duration.
  • Fungsi yang menampilkan ListenableFuture<Void?> kini menampilkan ListenableFuture<Void>.
  • Fungsi yang menerima callback kini selalu menampilkan callback sebagai parameter terakhir.
  • Class dengan builder kini juga selalu memiliki konstruktor publik.
  • Fungsi pendaftaran tidak lagi menampilkan ListenableFuture, tetapi akan meneruskan status pendaftaran ke callback yang diberikan.
  • Kualitas KDocs kini sudah ditingkatkan.
  • Class publik tidak lagi memperluas ProtoParcelable.

Perbaikan Bug

  • Peningkatan kualitas keandalan IPC secara umum (I3b1e2)

Versi 1.0.0-alpha03

3 November 2021

androidx.health:health-services-client:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Fitur Baru

  • SDK akan otomatis mendaftarkan ulang permintaan pengukuran, pemroses latihan, dan pendaftaran callback pemantauan pasif jika koneksi IPC terputus dengan APK Health Services.

Perubahan API

  • minSdkVersion library SDK ditambahkan ke API level 30 karena Health Services Client saat ini hanya didukung di Wear3.

Versi 1.0.0-alpha02

29 September 2021

androidx.health:health-services-client:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perubahan API

  • ExerciseClient sekarang mendukung persiapan latihan. Ini memungkinkan klien menyiapkan sensor dan menunggu hingga berbagai hal seperti Perbaikan GPS sebelum memulai latihan.
  • Memperkenalkan class CumulativeDataPoints dan StatisticalDataPoints AggregateDataPoint untuk memodelkan metrik gabungan lebih baik yang dilacak selama latihan aktif. CumulativeDataPoints menyimpan nilai kumulatif jenis data interval gabungan (seperti jarak total selama latihan) sementara model StatisticalDataPoints menggabungkan titik data sampel (seperti min, maks, dan rata-rata HeartRateBpm). Ini menggantikan DataTypes AGGREGATE_* sebelumnya dan dapat diakses di ExerciseUpdate melalui getLatestAggregateMetrics(). DataTypes AGGREGATE_* tidak didukung lagi.
  • Peristiwa PassiveMonitoring telah diganti namanya menjadi PassiveGoals yang mendukung penyetelan sasaran dan penerimaan notifikasi saat sasaran tersebut terpenuhi untuk jenis data seperti metrik Harian (yaitu DAILY_STEPS).
  • Pemodelan Detak Jantung yang ditingkatkan serta ketersediaan dan akurasi Lokasi melalui pengantar class HrAccuracy, LocationAccuracy, dan LocationAvailability baru.
  • Meningkatkan penamaan kolom ExerciseConfig dan PassiveMonitoringConfig baru serta pengantar ExerciseConfig.shouldEnableGps untuk meminta data yang didukung GPS

Perbaikan Bug

  • Bermigrasi ke transportasi IPC yang didukung proto untuk mendapatkan dukungan kompatibilitas mundur yang lebih baik

Versi 1.0.0-alpha01

18 Mei 2021

androidx.health:health-services-client:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur rilis awal

Library Health Services menyediakan kumpulan API yang seragam bagi developer untuk diintegrasikan dengan implementasi sensor khusus perangkat. Library ini akan otomatis berfungsi dengan emulator Wear OS 3 dan perangkat mendatang, dengan platform tambahan yang didukung di masa mendatang. Tiga platform API level atas disertakan dalam rilis awal ini: ExerciseClient, PassiveMonitoringClient, dan MeasureClient.

ExerciseClient

ExerciseClient dibuat untuk aplikasi yang melacak olahraga aktif, dengan maksimum 82 ExerciseType berbeda mulai dari berjalan dan berlari hingga menari dan polo air. Saat melacak latihan ini, ada 50 pilihan DataType berbeda yang tersedia bergantung pada jenis latihan dan hardware yang tersedia di perangkat. Untuk memulai, cukup tentukan informasi yang relevan di ExerciseConfig Anda, panggil exerciseClient.startExercise, dan lihat progresnya di pemroses update.

PassiveMonitoringClient

PassiveMonitoringClient adalah pilihan yang tepat jika aplikasi Anda melacak aktivitas pengguna sepanjang hari. Anda dapat mendaftarkan PendingIntent dengan kumpulan DataType dan diaktifkan untuk menangani batch perubahan. Atau, Anda dapat menentukan Event seperti mencapai sejumlah langkah tertentu.

MeasureClient

Terkadang pengguna perlu mengukur, misalnya, detak jantungnya pada saat itu, bukan selama latihan dan sepanjang hari. Di saat-saat seperti itulah, MeasureClient merupakan pilihan yang paling tepat. Anda cukup mendaftarkan callback dengan DataType yang didukung untuk menerima aliran data dan membatalkan pendaftaran callback tersebut ketika tidak diperlukan lagi.