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