Panduan ini kompatibel dengan Health Connect versi 1.1.0-alpha12.
Ada perubahan pada metadata di Health Connect untuk developer yang memilih mengupgrade ke rilis 1.1.0-alpha12.
Informasi library
ID artefak plugin gradle Android Google Maven
mengidentifikasi library Health Connect yang harus Anda upgrade.
Tambahkan dependensi Health Connect SDK ini ke file build.gradle
level modul:
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
Perubahan metadata
Dua perubahan metadata telah diperkenalkan ke Health Connect Jetpack SDK mulai versi 1.1.0-alpha12 untuk memastikan bahwa metadata tambahan yang berguna ada di ekosistem.
Anda harus menentukan detail metadata setiap kali
objek jenis Record()
dibuat instance-nya.
Anda harus menentukan salah satu dari empat metode perekaman saat menulis data ke Health Connect:
Metode perekaman | Deskripsi |
---|---|
RECORDING_METHOD_UNKNOWN |
Metode perekaman tidak dapat diverifikasi. |
RECORDING_METHOD_MANUAL_ENTRY |
Pengguna memasukkan data. |
RECORDING_METHOD_AUTOMATICALLY_RECORDED |
Perangkat atau sensor merekam data. |
RECORDING_METHOD_ACTIVELY_RECORDED |
Pengguna memulai awal atau akhir sesi perekaman di perangkat. |
Contoh:
StepsRecord(
startTime \= Instant.ofEpochMilli(1234L),
startZoneOffset \= null,
endTime \= Instant.ofEpochMilli(1236L),
endZoneOffset \= null,
metadata \= Metadata.manualEntry(),
Count \= 10,
)
Anda harus menentukan jenis perangkat untuk semua data yang direkam secara otomatis dan aktif. Jenis perangkat saat ini meliputi:
Jenis perangkat | Deskripsi |
---|---|
TYPE_UNKNOWN |
Jenis perangkat tidak diketahui. |
TYPE_WATCH |
Jenis perangkat adalah smartwatch. |
TYPE_PHONE |
Jenis perangkat adalah ponsel. |
TYPE_SCALE |
Jenis perangkat adalah timbangan. |
TYPE_RING |
Jenis perangkat adalah cincin. |
TYPE_HEAD_MOUNTED |
Jenis perangkat adalah perangkat yang dipasang di kepala. |
TYPE_FITNESS_BAND |
Jenis perangkat adalah gelang kebugaran. |
TYPE_CHEST_STRAP |
Jenis perangkat adalah tali dada. |
TYPE_SMART_DISPLAY |
Jenis perangkat adalah layar smart. |
Contoh:
private val TEST_DEVICE = Device(type = Device.TYPE_PHONE)
Cuplikan diperbarui
Panduan Health Connect telah diperbarui di mana saja cuplikan baru diperlukan untuk mematuhi persyaratan metadata baru. Untuk beberapa contoh, lihat halaman Menulis Data.
Metode metadata baru
Metadata tidak dapat lagi dibuat instance-nya secara langsung, jadi gunakan salah satu metode factory untuk mendapatkan instance metadata baru. Setiap fungsi memiliki tiga varian tanda tangan:
activelyRecorded
fun activelyRecorded(device: Device): Metadata.
fun activelyRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun activelyRecordedWithId(id: String, device: Device): Metadata
autoRecorded
fun autoRecorded(device: Device): Metadata
fun autoRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun autoRecordedWithId(id: String, device: Device): Metadata
manualEntry
fun manualEntry(device: Device? = null): Metadata
fun manualEntry(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun manualEntryWithId(id: String, device: Device? = null): Metadata
unknownRecordingMethod
fun unknownRecordingMethod(device: Device? = null): Metadata
fun unknownRecordingMethod(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun unknownRecordingMethodWithId(id: String, device: Device? = null): Metadata
Untuk informasi selengkapnya, lihat Project Open Source Android.
Menguji data
Gunakan Testing Library untuk meniru nilai metadata yang diharapkan:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
Tindakan ini menyimulasikan perilaku penerapan Health Connect, yang otomatis mengisi nilai ini selama penyisipan kumpulan data.
Untuk library pengujian, Anda perlu menambahkan dependensi Health Connect SDK ini ke
file build.gradle
level modul:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
Mengupgrade library
Langkah utama yang perlu Anda lakukan adalah:
Upgrade library Anda ke 1.1.0-alpha12.
Saat mem-build library, error kompilasi akan ditampilkan jika metadata baru diperlukan, jadi pastikan untuk menerapkan perubahan metadata yang diperlukan setiap kali objek jenis
Record()
dibuat instance-nya. Tindakan ini akan menyelesaikan migrasi.