วัดอุณหภูมิผิวหนัง

คำแนะนำนี้ใช้ได้กับ Health Connect เวอร์ชัน 1.1.0-alpha12

Health Connect มีประเภทข้อมูลอุณหภูมิผิวหนังเพื่อวัดอุณหภูมิส่วนปลายของร่างกาย การวัดนี้เป็นประโยชน์อย่างยิ่งในการระบุคุณภาพการนอนหลับ สุขภาพการเจริญพันธุ์ และแนวโน้มการเกิดโรค

สิทธิ์ที่จำเป็น

เช่นเดียวกับประเภทข้อมูลอื่นๆ ใน Health Connect การเข้าถึงอุณหภูมิผิวหนังจะได้รับการปกป้องโดยสิทธิ์ 2 รายการ ได้แก่ READ_SKIN_TEMPERATURE และ WRITE_SKIN_TEMPERATURE

ข้อมูลที่รวมอยู่ในระเบียนอุณหภูมิผิวหนัง

การวัดอุณหภูมิผิวหนังจะจัดระเบียบเป็นระเบียน ระเบียนแต่ละรายการประกอบด้วยข้อมูลต่อไปนี้

  • อุณหภูมิฐานเป็นองศาเซลเซียสหรือองศาฟาเรนไฮต์ ค่านี้เป็นค่าที่ไม่บังคับซึ่งมีประโยชน์มากที่สุดสําหรับการแสดงภาพใน UI ของแอป
  • รายการค่าเดลต้าของอุณหภูมิผิวหนัง โดยแต่ละรายการจะแสดงการเปลี่ยนแปลงอุณหภูมิผิวหนังนับตั้งแต่การวัดครั้งล่าสุด หากระบุอุณหภูมิฐานไว้ ความแตกต่างเหล่านี้ควรใช้หน่วยอุณหภูมิเดียวกัน
  • ตำแหน่งบนร่างกายของผู้ใช้ที่ทำการวัด เช่น นิ้ว เท้า หรือข้อมือ

การรวมที่รองรับ

Health Connect ช่วยให้คุณดูค่ารวมต่อไปนี้สำหรับรายการ Delta ที่ระบุ

  • ค่าต่ำสุด
  • ค่าสูงสุด
  • มูลค่าเฉลี่ย

อ่านข้อมูลอุณหภูมิผิวหนัง

ข้อมูลโค้ดต่อไปนี้แสดงวิธีอ่านค่าอุณหภูมิผิวหนังโดยใช้ไลบรารี Jetpack

suspend fun readSkinTemperatures() {
    // Error handling, permission check, and feature availability check
    // aren't included.

    // Record includes measurements during the past hour.
    val recordEndTime = Instant.now()
    val recordStartTime = recordEndTime.minusSeconds(60 * 60)

    val response = healthConnectClient.readRecords(
        ReadRecordsRequest<SkinTemperatureRecord>(
            timeRangeFilter = TimeRangeFilter.between(
                recordStartTime, recordEndTime
            )
        )
    )

    for (skinTemperatureRecord in response.records) {
        // Process each skin temperature record here.
    }
}

เขียนข้อมูลอุณหภูมิผิวหนัง

ข้อมูลโค้ดต่อไปนี้แสดงวิธีเขียนการวัดอุณหภูมิผิวหนังโดยใช้ไลบรารี Jetpack


suspend fun writeSkinTemperatures(): InsertRecordsResponse {
    // Error handling, permission check, and feature availability check
    // aren't included.

    // Record includes measurements during the past hour.
    val recordEndTime: ZonedDateTime = now()
    val recordStartTime: ZonedDateTime = recordEndTime.minusHours(1)

    healthConnectClient.insertRecords(
        // For this example, there's only one skin temperature record.
        listOf(
            SkinTemperatureRecord(
                baseline = Temperature.celsius(37.0),
                startTime = recordStartTime.toInstant(),
                startZoneOffset = recordStartTime.offset,
                endTime = recordEndTime.toInstant(),
                endZoneOffset = recordEndTime.offset,
                deltas = listOf(
                    SkinTemperatureRecord.Delta(
                        recordEndTime.minusMinutes(50).toInstant(), celsius(0.5)
                    ), SkinTemperatureRecord.Delta(
                        recordEndTime.minusMinutes(30).toInstant(), celsius(-0.7)
                    )
                ),
                measurementLocation = SkinTemperatureRecord.MEASUREMENT_LOCATION_FINGER,
                metadata = Metadata.autoRecorded(
                    device = Device(type = Device.TYPE_RING)
                ),
            )
        )
    )
}