Daten löschen

Das Löschen von Daten ist ein wichtiger Bestandteil der CRUD-Vorgänge in Health Connect. In diesem Leitfaden wird beschrieben, wie Sie Datensätze auf zwei Arten löschen können.

Mit Datensatz-IDs löschen

Sie können Datensätze anhand einer Liste eindeutiger Kennungen wie der Datensatz-ID und der Client-Datensatz-ID Ihrer App löschen. Verwenden Sie deleteRecords und stellen Sie zwei Listen mit Strings bereit, eine für die Datensatz-IDs und eine für die Client-IDs. Wenn Sie nur eine der IDs haben, können Sie emptyList() für die andere 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 mit Start- und Endzeitstempelwerten an.

Das folgende Codebeispiel zeigt, wie Schrittdaten für einen bestimmten Zeitraum gelöscht werden:

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