Daten löschen

Das Löschen von Daten ist ein wichtiger Teil der CRUD-Vorgänge in Health Connect. In dieser Anleitung erfahren Sie, wie Sie Einträge auf zwei Arten löschen können.

Mit Eintrags-IDs löschen

Sie können Einträge mithilfe einer Liste eindeutiger IDs wie der Datensatz-ID und der Client-Datensatz-ID Ihrer Anwendung löschen. Verwenden Sie deleteRecords und stellen Sie zwei Listen mit Strings bereit, eine für die Eintrag-IDs und eine für die Client-IDs. Wenn nur eine der IDs verfügbar ist, können Sie emptyList() in der anderen Liste festlegen.

Das folgende Codebeispiel zeigt, wie Sie Schrittdaten anhand ihrer IDs löschen:

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

Mit einem Zeitraum löschen

Sie können Daten auch löschen, indem Sie einen Zeitraum als Filter verwenden. Verwenden Sie deleteRecords und geben Sie ein TimeRangeFilter-Objekt an, das Zeitstempelwerte für Start und Ende annimmt.

Das folgende Codebeispiel zeigt, wie Sie Daten der Schrittdaten zu einer bestimmten Zeit löschen:

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