คู่มือนี้ใช้ได้กับ Health Connect เวอร์ชัน 1.1.0-alpha12
มีการเปลี่ยนแปลงข้อมูลเมตาใน Health Connect สำหรับ นักพัฒนาแอปที่เลือกอัปเกรดเป็นรุ่น 1.1.0-alpha12
ข้อมูลห้องสมุด
รหัสอาร์ติแฟกต์ของ Google Maven Android Gradle Plugin
จะระบุไลบรารี Health Connect ที่คุณจะต้องอัปเกรด
เพิ่มทรัพยากร Dependency ของ Health Connect SDK นี้ลงในไฟล์ build.gradle
ระดับโมดูล
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
การเปลี่ยนแปลงข้อมูลเมตา
เราได้ทำการเปลี่ยนแปลงข้อมูลเมตา 2 รายการใน Health Connect Jetpack SDK ตั้งแต่เวอร์ชัน 1.1.0-alpha12 เพื่อให้มั่นใจว่าจะมีข้อมูลเมตาเพิ่มเติมที่เป็นประโยชน์ อยู่ในระบบนิเวศ
คุณต้องระบุรายละเอียดข้อมูลเมตาทุกครั้งที่สร้างออบเจ็กต์ประเภท Record()
คุณต้องระบุวิธีการบันทึก 1 ใน 4 วิธีต่อไปนี้ เมื่อเขียนข้อมูลไปยัง Health Connect
วิธีการบันทึก | คำอธิบาย |
---|---|
RECORDING_METHOD_UNKNOWN |
ยืนยันวิธีการบันทึกไม่ได้ |
RECORDING_METHOD_MANUAL_ENTRY |
ผู้ใช้ป้อนข้อมูล |
RECORDING_METHOD_AUTOMATICALLY_RECORDED |
อุปกรณ์หรือเซ็นเซอร์บันทึกข้อมูล |
RECORDING_METHOD_ACTIVELY_RECORDED |
ผู้ใช้เริ่มหรือสิ้นสุดเซสชันการบันทึกในอุปกรณ์ |
เช่น
StepsRecord(
startTime \= Instant.ofEpochMilli(1234L),
startZoneOffset \= null,
endTime \= Instant.ofEpochMilli(1236L),
endZoneOffset \= null,
metadata \= Metadata.manualEntry(),
Count \= 10,
)
คุณต้องระบุประเภทอุปกรณ์สำหรับข้อมูลทั้งหมดที่บันทึกโดยอัตโนมัติและข้อมูลที่บันทึกอย่างต่อเนื่อง ประเภทอุปกรณ์ปัจจุบันมีดังนี้
ประเภทอุปกรณ์ | คำอธิบาย |
---|---|
TYPE_UNKNOWN |
อุปกรณ์เป็นประเภทที่ไม่รู้จัก |
TYPE_WATCH |
ประเภทอุปกรณ์คือนาฬิกา |
TYPE_PHONE |
อุปกรณ์เป็นโทรศัพท์ |
TYPE_SCALE |
อุปกรณ์เป็นเครื่องชั่ง |
TYPE_RING |
ประเภทอุปกรณ์คือกริ่ง |
TYPE_HEAD_MOUNTED |
ประเภทอุปกรณ์คืออุปกรณ์ที่สวมศีรษะ |
TYPE_FITNESS_BAND |
ประเภทอุปกรณ์คือฟิตเนสแบนด์ |
TYPE_CHEST_STRAP |
ประเภทอุปกรณ์คือสายรัดหน้าอก |
TYPE_SMART_DISPLAY |
ประเภทอุปกรณ์คือจออัจฉริยะ |
หากเป็นไปได้ โปรดระบุผู้ผลิตและรุ่นของอุปกรณ์นอกเหนือจาก ประเภทอุปกรณ์ เช่น
private val TEST_DEVICE = Device(
manufacturer = "Google",
model = "Pixel Watch",
type = Device.TYPE_WATCH
)
อัปเดตข้อมูลโค้ดแล้ว
เราได้อัปเดตคำแนะนำเกี่ยวกับ Health Connect ในส่วนที่ต้องใช้ข้อมูลโค้ดใหม่ เพื่อให้เป็นไปตามข้อกำหนดใหม่เกี่ยวกับข้อมูลเมตา ดูตัวอย่างได้ที่หน้าเขียนข้อมูล
วิธีการใหม่สำหรับข้อมูลเมตา
คุณไม่สามารถสร้างอินสแตนซ์ของข้อมูลเมตาได้โดยตรงอีกต่อไป ดังนั้นให้ใช้วิธีการของ Factory อย่างใดอย่างหนึ่งเพื่อรับอินสแตนซ์ใหม่ของข้อมูลเมตา แต่ละฟังก์ชันมีลายเซ็น 3 รูปแบบ ได้แก่
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
ดูข้อมูลเพิ่มเติมได้ที่โปรเจ็กต์โอเพนซอร์สของ Android
ข้อมูลการทดสอบ
ใช้คลังทดสอบเพื่อจำลองค่าข้อมูลเมตาที่คาดไว้
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
ซึ่งจะจำลองลักษณะการทำงานของการติดตั้งใช้งาน Health Connect ซึ่งจะป้อนค่าเหล่านี้โดยอัตโนมัติในระหว่างการแทรกระเบียน
สำหรับไลบรารีการทดสอบ คุณต้องเพิ่มทรัพยากร Dependency ของ Health Connect SDK นี้ลงในไฟล์ build.gradle
ระดับโมดูล
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
อัปเกรดไลบรารี
ขั้นตอนหลักๆ ที่คุณต้องดำเนินการมีดังนี้
อัปเกรดไลบรารีเป็น 1.1.0-alpha12
เมื่อสร้างไลบรารี ระบบจะแสดงข้อผิดพลาดในการคอมไพล์ในกรณีที่ต้องใช้ข้อมูลเมตาใหม่ ดังนั้นโปรดตรวจสอบว่าได้ใช้การเปลี่ยนแปลงข้อมูลเมตาที่จำเป็นทุกครั้งที่มีการสร้างออบเจ็กต์ประเภท
Record()
ซึ่งจะ เป็นการย้ายข้อมูลให้เสร็จสมบูรณ์