Persyaratan metadata

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:

  1. Upgrade library Anda ke 1.1.0-alpha12.

  2. 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.