คำแนะนำนี้ใช้ได้กับ 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(type = Device.TYPE_PHONE)
อัปเดตข้อมูลโค้ดแล้ว
เราได้อัปเดตคำแนะนำของ Health Connect ในส่วนที่จำเป็นต้องใช้ข้อมูลโค้ดใหม่เพื่อให้เป็นไปตามข้อกำหนดข้อมูลเมตาใหม่ ดูตัวอย่างได้ที่หน้าเขียนข้อมูล
วิธีการใหม่สำหรับข้อมูลเมตา
คุณไม่สามารถสร้างอินสแตนซ์ข้อมูลเมตาโดยตรงได้อีกต่อไป ดังนั้นให้ใช้เมธอดการสร้างอย่างใดอย่างหนึ่งเพื่อรับอินสแตนซ์ข้อมูลเมตาใหม่ ฟังก์ชันแต่ละรายการมีรูปแบบลายเซ็น 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
ข้อมูลการทดสอบ
ใช้ Testing Library เพื่อจำลองค่าข้อมูลเมตาที่คาดไว้ ดังนี้
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()
ซึ่งจะเป็นการย้ายข้อมูลให้เสร็จสมบูรณ์