Elimina i dati

L'eliminazione dei dati è una parte fondamentale delle operazioni CRUD in Connessione Salute. Questa guida mostra come eliminare i record in due modi.

Elimina utilizzando ID record

Puoi eliminare i record utilizzando un elenco di identificatori univoci come l'ID record e l'ID record client della tua app. Utilizza deleteRecords e fornisci due elenchi di Strings, uno per gli ID record e uno per gli ID client. Se hai a disposizione un solo ID, puoi impostare emptyList() nell'altro elenco.

Il seguente esempio di codice mostra come eliminare i dati relativi ai passi utilizzando i relativi 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
    }
}

Elimina utilizzando un intervallo di tempo

Puoi anche eliminare i dati utilizzando un intervallo di tempo come filtro. Utilizza deleteRecords e fornisci un oggetto TimeRangeFilter che accetta valori di timestamp di inizio e fine.

Il seguente esempio di codice mostra come eliminare i dati dei passaggi in un'ora specifica:

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