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