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

Удаление данных — ключевая часть операций 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
    }
}