본문으로 건너뛰기

Make the first API call

Vehicle API 사용 방법

Vehicle API는 아래와 같이 3가지 타입으로 사용할 수 있습니다.

각 타입별 예제코드를 확인해주세요.

Get Property API example

// Create Vehicle instance
val vehicle = Vehicle(context)

// Start Vehicle
vehicle.initialize()

val door = vehicle.getDoor()
door.getCurrentDoorPosition(
area = DoorArea(DoorValue.ROW_1_LEFT),
onComplete = { pos: Int? ->
// do something
},
onFailed = { e: Exception ->
// do something
}
)

val display = vehicle.getDisplay()
display.getCurrentTemperatureDisplayUnit(
onComplete = { unit: TemperatureUnit? ->
// do something
},
onFailed = { e: Exception ->
// do something
}
)

// End Vehicle
vehicle.release()

Set Property API example

// Create Vehicle instance
val vehicle = Vehicle(context)

// Start Vehicle
vehicle.initialize()

val door = vehicle.getDoor()
door.setDoorPosition(
area = DoorArea(DoorValue.ROW_1_LEFT),
value = 1, // Integer type
onFailed = { e: Exception ->
// do something
}
)

// End Vehicle
vehicle.release()

Callback API example

// Create Vehicle instance
val vehicle = Vehicle(context)

// Start Vehicle
vehicle.initialize()

// Create callback listener
val callbackListener = object : DoorPositionListener {
override fun onPositionUpdated(pos: Int?) {
// do something
}

override fun onFailed(e: Exception) {
// do something
}
}

val door = vehicle.getDoor()

// register callback
door.registerDoorPosition(
doorPositionListener = callbackListener
)
// unregister callback
door.unregisterDoorPosition(
doorPositionListener = callbackListener
)

// End Vehicle
vehicle.release()

API 시나리오 예시

차량 도어 포지션을 감시하는 앱을 개발하려면 다음 시나리오를 구현합니다.

1. 초기화 하기

Vehicle 객체를 생성한 후 vehicle.initialize 함수를 호출하여 SDK를 초기화 합니다.

val vehicle = Vehicle(context)
vehicle.initialize()

2. Door API 객체 얻기

Door API를 사용하려면 Vehicle 객체를 생성한 후 vehicle.getDoor 함수를 호출하여 Door 객체를 얻을 수 있습니다.

val door = vehicle.getDoor()

3. 영역 설정

DoorArea 객체를 생성하여 DoorValue를 설정합니다. 다음은 HOOD 영역을 설정하는 예제 코드입니다.

val area = DoorArea(DoorValue.HOOD)

4. Door 이벤트 콜백 등록

DoorPositionListener를 구현한 다음, registerDoorPosition 함수를 호출하여 이벤트 콜백을 등록합니다.

val listener = object : DoorPositionListener {
override fun onFailed(e: Exception) {
// do something.
}

override fun onPositionUpdated(pos: Int?) {
// do something.
}
}
door.registerDoorPosition(area, listener)

5. Door 이벤트 처리

onPositionUpdated 이벤트가 발생하면 차량 도어 포지션 값을 확인합니다.

6. Door 이벤트 콜백 등록 해지

앱을 종료하기 전에 unregisterDoorPosition 함수를 호출하여 등록한 이벤트 콜백을 해제합니다.

door.unregisterDoorPosition(area, listener)

7. SDK 리소스 해제

vehicle.release 함수를 호출하여 SDK가 사용하던 리소스를 해제합니다.

vehicle.release()