News Download Tutorial FAQ Reference Buy

안드로이드 : org.roboid.android : RobotActivity

public class
RobotActivity
org.roboid.android.RobotActivity
개요
로봇 세계를 생성하고 이벤트를 처리하는 등의 기본적인 작업을 해놓은 액티비티.

다음은 로봇 세계의 생명주기를 나타낸 것입니다. 사각형 박스는 수행할 동작을 구현할 수 있는 콜백 메소드를 나타내고, 색깔있는 둥근 사각형은 내부적으로 변경되는 상태를 나타냅니다. 로봇을 구성하는 디바이스의 데이터는 onActivated() 메소드가 호출된 이후부터 onDeactivated() 메소드가 호출되기 전까지 읽거나 쓸 수 있습니다.

참고
DeviceDataChangedListener
Connector
Connector.Callback
퍼블릭 메소드
버전 1.0.0부터
public void onActivated()
onInitialized(Robot) 메소드가 호출된 후에 애플리케이션이 론처에 연결되었을 때 호출된다.

onActivated() 메소드가 호출된 이후부터 onDeactivated() 메소드가 호출되기 전까지 디바이스의 데이터를 읽거나 쓸 수 있으며, 약 20ms마다 주기적으로 onExecute() 메소드가 호출된다.
버전 1.0.0부터
public void onConnectionStateChanged(Robot robot, int state)
하드웨어 로봇과 블루투스 연결 상태가 변경되었을 때 호출된다.

state가 가질 수 있는 값은 Robot 인터페이스에 정의되어 있다.

파라미터:
  • robot: 연결 상태가 변경된 로봇
  • state: 블루투스 연결 상태

참고
Robot.STATE_CONNECTING
Robot.STATE_CONNECTED
Robot.STATE_CONNECTION_LOST
Robot.STATE_DISCONNECTED
버전 1.0.0부터
public void onDeactivated()
Connector.deactivate() 메소드를 호출한 후 또는 론처가 종료되어, 애플리케이션이 론처에서 연결 해제되었을 때 호출된다.

onDeactivated() 메소드가 호출된 이후에는 디바이스의 데이터를 읽거나 쓸 수 없다.
버전 1.0.0부터
public void onDeviceDataChanged(Robot robot, Device device, Object values, long timestamp)
디바이스의 데이터가 갱신되었을 때 호출된다.

values는 정수형 배열(int[]) 또는 실수형 배열(float[]), 스트링 배열(String[])의 데이터 형을 가진다.

파라미터:
  • robot: 데이터가 갱신된 로봇
  • device: 데이터가 갱신된 디바이스
  • values: 디바이스의 데이터 배열
  • timestamp: 데이터가 갱신된 시간 (System.nanoTime() 메소드로 측정된 시간)
버전 1.0.0부터
public void onDisposed()
론처가 종료되었을 때 호출된다.

론처가 종료될 때 애플리케이션도 같이 종료되어야 하므로 onDisposed() 메소드에서 액티비티를 닫고 리소스를 해제하는 등의 종료 작업을 해야 한다.
버전 1.0.0부터
public void onExecute()
onActivated() 메소드가 호출된 이후부터 onDeactivated() 메소드가 호출되기 전까지 약 20ms마다 주기적으로 호출된다.

onExecute() 메소드에서는 항상 디바이스의 데이터를 읽거나 쓸 수 있다.
버전 1.0.0부터
public void onInitialized(World world)
Connector.activate(Context, Connector.Callback) 메소드를 호출한 후에 World 객체가 생성되거나 World 객체가 변경되었을 때 호출된다.

즉, 로봇 세계가 새로 생성되었을 때, 또는 론처에서 로봇을 변경하여 로봇 세계의 구성이 변경되었을 때 호출된다.

파라미터:
  • world: 로봇 세계의 객체
Copyright Robot Software Education Institute. All rights reserved.
Please contact prof. Kwang-Hyun Park (akaii@kw.ac.kr) if you have any problem.