[kotlin] 확장 함수를 사용하여 센서 데이터를 다루는 방법은?

예를 들어, 센서 데이터를 처리하는 데 유용하게 확장 함수를 활용할 수 있습니다. 우선 센서 데이터를 다루기 위한 새로운 확장 함수를 만들어 보겠습니다.

fun SensorEvent.getFloatData(): FloatArray {
    val values = this.values
    return FloatArray(values.size) { i -> values[i] }
}

위의 예시 코드에서 SensorEvent 클래스에 getFloatData라는 새로운 확장 함수를 추가했습니다. 이 함수는 SensorEvent 객체에서 values 배열을 가져와서 FloatArray로 변환하여 반환합니다.

그리고 이제 이 확장 함수를 사용하여 센서 데이터를 처리할 수 있습니다.

override fun onSensorChanged(event: SensorEvent) {
    val floatData = event.getFloatData()
    // floatData를 사용하여 센서 데이터를 처리하는 코드 작성
}

이렇게 함으로써 기존의 SensorEvent 클래스에 새로운 기능을 추가하고, 보다 간결하고 읽기 쉬운 코드를 작성할 수 있습니다.

확장 함수를 사용하면 이미 존재하는 클래스에 새로운 기능을 추가하여 코드를 더욱 모듈화하고 유지보수하기 쉽게 만들 수 있습니다.