데이터 삭제

데이터 삭제는 헬스 커넥트의 CRUD 작업의 핵심 부분입니다. 이 가이드에서는 레코드를 삭제하는 두 가지 방법을 보여줍니다.

레코드 ID를 사용하여 삭제

레코드 ID 및 앱의 클라이언트 레코드 ID와 같은 고유 식별자 목록을 사용하여 레코드를 삭제할 수 있습니다. deleteRecords를 사용한 다음, 이를 두 개의 Strings 목록(레코드 ID에 대한 목록과 클라이언트 ID에 대한 목록)에 제공합니다. ID 중 하나만 사용 가능한 경우 다른 목록에서 emptyList()를 설정할 수 있습니다.

다음 코드 예에서는 ID를 사용하여 걸음 수 데이터를 삭제하는 방법을 보여줍니다.

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