删除数据是 Health Connect 中 CRUD 操作的关键部分。本指南将向您展示如何通过两种方式删除记录。
使用记录 ID 删除
您可以使用唯一标识符列表(例如记录 ID 和应用的客户端记录 ID)删除记录。使用 deleteRecords
,并为其提供两个 Strings
列表,一个用于记录 ID,另一个用于客户端 ID。如果您只有一个 ID 可用,则可以在另一个列表上设置 emptyList()
。
以下代码示例演示了如何使用其 ID 删除步数数据
suspend fun deleteStepsByUniqueIdentifier(
healthConnectClient: HealthConnectClient,
idList: List<String>
) {
try {
healthConnectClient.deleteRecords(
StepsRecord::class,
idList = idList,
clientRecordIdsList = emptyList()
)
} catch (e: Exception) {
// Run error handling here
}
}
使用时间范围删除
您还可以使用时间范围作为过滤器删除数据。使用 deleteRecords
,并为其提供一个 TimeRangeFilter
对象,该对象采用开始和结束时间戳值。
以下代码示例演示了如何在特定时间删除步数数据
suspend fun deleteStepsByTimeRange(
healthConnectClient: HealthConnectClient,
startTime: Instant,
endTime: Instant
) {
try {
healthConnectClient.deleteRecords(
StepsRecord::class,
timeRangeFilter = TimeRangeFilter.between(startTime, endTime)
)
} catch (e: Exception) {
// Run error handling here
}
}