Getting Started with the SDK
Vehicle API 사용 방법
Vehicle API는 아래와 같이 3가지 타입으로 사용할 수 있습니다.
각 타입별 예제코드를 확인해주세요.
Get Property API example
- Kotlin
- Java
// 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()
// Create Vehicle instance
Vehicle vehicle = new Vehicle(context);
// Start Vehicle
vehicle.initialize();
Door door = vehicle.getDoor();
door.getCurrentDoorPosition(
new DoorArea(DoorValue.ROW_1_LEFT),
pos -> {
// do something
return Unit.INSTANCE;
},
e -> {
// do something
return Unit.INSTANCE;
}
);
Display display = vehicle.getDisplay();
display.getCurrentTemperatureDisplayUnit(
unit -> {
// do something
return Unit.INSTANCE;
},
e -> {
// do something
return Unit.INSTANCE;
}
);
// End Vehicle
vehicle.release();
Set Property API example
- Kotlin
- Java
// 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()
// Create Vehicle instance
Vehicle vehicle = new Vehicle(context);
// Start Vehicle
vehicle.initialize();
Door door = vehicle.getDoor();
door.setDoorPosition(
new DoorArea(DoorValue.ROW_1_LEFT),
1,
e -> {
// do something
return Unit.INSTANCE;
}
);
// End Vehicle
vehicle.release();
Callback API example
- Kotlin
- Java
// 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()
// Create Vehicle instance
Vehicle vehicle = new Vehicle(context);
// Start Vehicle
vehicle.initialize();
// Create callback listener
DoorPositionListener callbackListener = new DoorPositionListener() {
@Override
public void onPositionUpdated(@Nullable int pos) {
// do something
}
@Override
public void onFailed(@NonNull Exception e) {
// do something
}
};
Door door = vehicle.getDoor();
// register callback
door.registerDoorPosition(callbackListener);
// unregister callback
door.unregisterDoorPosition(callbackListener);
// End Vehicle
vehicle.release();
API 시나리오 예시
차량 도어 포지션을 감시하는 앱을 개발하려면 다음 시나리오를 구현합니다.
- 1. 초기화 하기
- 2. Door API 객체 얻기
- 3. 영역 설정
- 4. Door 이벤트 콜백 등록
- 5. Door 이벤트 처리
- 6. Door 이벤트 콜백 등록 해지
- 7. SDK 리소스 해제
1. 초기화 하기
Vehicle 객체를 생성한 후 vehicle.initialize 함수를 호출하여 SDK를 초기화 합니다.
- Kotlin
- Java
val vehicle = Vehicle(context)
vehicle.initialize()
Vehicle vehicle = new Vehicle(context);
vehicle.initialize();
2. Door API 객체 얻기
Door API를 사용하려면 Vehicle 객체를 생성한 후 vehicle.getDoor 함수를 호출하여 Door 객체를 얻을 수 있습니다.
- Kotlin
- Java
val door = vehicle.getDoor()
Door door = vehicle.getDoor();
3. 영역 설정
DoorArea 객체를 생성하여 DoorValue를 설정합니다. 다음은 HOOD 영역을 설정하는 예제 코드입니다.
- Kotlin
- Java
val area = DoorArea(DoorValue.HOOD)
DoorArea area = new DoorArea(DoorValue.HOOD);
4. Door 이벤트 콜백 등록
DoorPositionListener를 구현한 다음, registerDoorPosition 함수를 호출하여 이벤트 콜백을 등록합니다.
- Kotlin
- Java
val listener = object : DoorPositionListener {
override fun onFailed(e: Exception) {
// do something.
}
override fun onPositionUpdated(pos: Int?) {
// do something.
}
}
door.registerDoorPosition(area, listener)
DoorPositionListener listener = new DoorPositionListener {
@Override
public void onFailed(Exception e) {
// do something.
}
@Override
public void onPositionUpdated(@Nullable int pos) {
// do something.
}
};
door.registerDoorPosition(area, listener);
5. Door 이벤트 처리
onPositionUpdated 이벤트가 발생하면 차량 도어 포지션 값을 확인합니다.
6. Door 이벤트 콜백 등록 해지
앱을 종료하기 전에 unregisterDoorPosition 함수를 호출하여 등록한 이벤트 콜백을 해제합니다.
- Kotlin
- Java
door.unregisterDoorPosition(area, listener)
door.unregisterDoorPosition(area, listener);
7. SDK 리소스 해제
vehicle.release 함수를 호출하여 SDK가 사용하던 리소스를 해제합니다.
- Kotlin
- Java
vehicle.release()
vehicle.release();