[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
클래스에 새로운 기능을 추가하고, 보다 간결하고 읽기 쉬운 코드를 작성할 수 있습니다.
확장 함수를 사용하면 이미 존재하는 클래스에 새로운 기능을 추가하여 코드를 더욱 모듈화하고 유지보수하기 쉽게 만들 수 있습니다.