删除数据

删除数据是 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
    }
}