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

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