Удалить данные

Удаление данных — ключевой этап CRUD-операций в Health Connect. В этом руководстве показано, как удалить записи двумя способами.

Удалить, используя идентификаторы записей

Вы можете удалять записи, используя список уникальных идентификаторов, таких как идентификатор записи и идентификатор записи клиента вашего приложения. Используйте функцию deleteRecords и передайте ей два списка Strings : один для идентификаторов записей, а другой — для идентификаторов клиентов. Если доступен только один из идентификаторов, можно установить emptyList() для другого списка.

В следующем примере кода показано, как удалить данные Steps, используя их идентификаторы:

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
    }
}