Usuń dane

Usuwanie danych jest kluczową częścią operacji CRUD w Health Connect. Z tego przewodnika dowiesz się, jak usuwać rekordy na 2 sposoby.

Usuwanie za pomocą identyfikatorów rekordów

Możesz usuwać rekordy, korzystając z listy unikalnych identyfikatorów, takich jak identyfikator rekordu i identyfikator rekordu klienta aplikacji. Użyj funkcji deleteRecords i podaj jej 2 listy wartości Strings: jedną z identyfikatorami rekordów, a drugą z identyfikatorami klientów. Jeśli masz tylko jeden z identyfikatorów, możesz ustawić emptyList() na drugiej liście.

Poniższy przykładowy kod pokazuje, jak usunąć dane dotyczące kroków za pomocą ich identyfikatorów:

suspend fun deleteStepsByUniqueIdentifier(
    healthConnectClient: HealthConnectClient,
    idList: List<String>
) {
    try {
        healthConnectClient.deleteRecords(
            StepsRecord::class,
            idList = idList,
            clientRecordIdsList = emptyList()
        )
    } catch (e: Exception) {
        // Run error handling here
    }
}

Usuwanie za pomocą zakresu czasu

Możesz też usunąć dane, używając zakresu czasu jako filtra. Użyj deleteRecords i podaj obiekt TimeRangeFilter, który przyjmuje wartości sygnatury czasowej rozpoczęcia i zakończenia.

Poniższy przykładowy kod pokazuje, jak usunąć dane dotyczące kroków z określonego przedziału czasu:

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