News Download Tutorial FAQ Reference Buy

자바 : 숙련자용 : Roboid

개요
로보이드를 구성하는 디바이스를 찾거나 리스너를 등록 및 제거하는 메소드를 정의합니다.

상속 관계:
퍼블릭 메소드
버전 1.0.0부터
public abstract void addDeviceDataChangedListener(DeviceDataChangedListener listener)
디바이스의 데이터가 갱신되었을 때 호출되도록 listener를 등록한다.

파라미터:
  • listener: 등록할 리스너

DeviceDataChangedListener listener = new DeviceDataChangedListener() {
    public void onDeviceDataChanged(Device device, Object values, long timestamp) {
        int leftProximity = 0;
        if(device.getId() == Hamster.LEFT_PROXIMITY) {
            leftProximity = ((int[])values)[0];
        }
    }
};

Hamster hamster = new Hamster();
Roboid roboid = hamster.findRoboidByName("Hamster");
// 리스너를 등록한다.
roboid.addDeviceDataChangedListener(listener);
버전 1.1.0부터
public abstract void clearDeviceDataChangedListeners()
등록된 모든 리스너를 제거한다.
버전 1.0.0부터
public abstract Device findDeviceById(int deviceId)
자식 디바이스 중에서 ID가 deviceId인 디바이스를 찾아 객체를 반환한다.

ID가 deviceId인 자식 디바이스가 없으면 null을 반환한다.

파라미터:
  • deviceId: 찾을 디바이스의 ID

반환 값:
    Device 객체 또는 null

Hamster hamster = new Hamster();
Roboid roboid = hamster.findRoboidByName("Hamster");
// 왼쪽 바퀴 이펙터 디바이스의 객체를 얻는다.
Device device = roboid.findDeviceById(Hamster.LEFT_WHEEL);
버전 1.0.0부터
public abstract Device findDeviceByName(String name)
자식 디바이스 중에서 이름이 name인 디바이스를 찾아 객체를 반환한다.

이름이 name인 자식 디바이스가 없으면 null을 반환한다. 이 때, 자식 로보이드에 포함된 디바이스의 이름은 "자식로보이드.디바이스"와 같이 "."으로 구분된 형식을 사용한다. 예: "Child.Light"

파라미터:
  • name: 찾을 디바이스의 이름

반환 값:
    Device 객체 또는 null

Hamster hamster = new Hamster();
Roboid roboid = hamster.findRoboidByName("Hamster");
// 왼쪽 바퀴 이펙터 디바이스의 객체를 얻는다.
Device device = roboid.findDeviceByName("LeftWheel");
버전 1.0.0부터
public abstract Roboid findRoboidByName(String name)
자식 로보이드 중에서 이름이 name인 로보이드를 찾아 객체를 반환한다.

이름이 name인 자식 로보이드가 없으면 null을 반환한다. 이 때, 자식 로보이드에 포함된 로보이드의 이름은 "자식로보이드.로보이드"와 같이 "."으로 구분된 형식을 사용한다. 예: "Child.Pen"

파라미터:
  • name: 찾을 로보이드의 이름

반환 값:
    Roboid 객체 또는 null
버전 1.0.0부터
public abstract String getId()
로보이드의 ID를 반환한다.

반환 값:
    로보이드의 ID를 나타내는 문자열

Hamster hamster = new Hamster();
Roboid roboid = hamster.findRoboidByName("Hamster");
// 로보이드의 ID를 얻는다.
String id = roboid.getId();
버전 1.0.0부터
public abstract String getName()
로보이드의 이름을 반환한다.

반환 값:
    이름을 나타내는 문자열. 항상 null이 아니다.

Hamster hamster = new Hamster();
Roboid roboid = hamster.findRoboidByName("Hamster");
// 로보이드의 이름을 얻는다.
String name = roboid.getName();
버전 1.0.0부터
public abstract void removeDeviceDataChangedListener(DeviceDataChangedListener listener)
등록된 리스너 목록에서 listener를 제거한다.

파라미터:
  • listener: 제거할 리스너

DeviceDataChangedListener listener = new DeviceDataChangedListener() {
    public void onDeviceDataChanged(Device device, Object values, long timestamp) {
        int leftProximity = 0;
        if(device.getId() == Hamster.LEFT_PROXIMITY) {
            leftProximity = ((int[])values)[0];
        }
    }
};

Hamster hamster = new Hamster();
Roboid roboid = hamster.findRoboidByName("Hamster");
// 리스너를 제거한다.
roboid.removeDeviceDataChangedListener(listener);
버전 1.1.0부터
public abstract void setName(String name)
로보이드의 이름을 name으로 설정한다.

파라미터:
  • name: 설정할 이름. null을 입력한 경우에는 이름이 ""로 설정된다.

Hamster hamster = new Hamster();
Roboid roboid = hamster.findRoboidByName("Hamster");
// 로보이드의 이름을 "Hamster"로 설정한다.
roboid.setName("Hamster");
Copyright Robot Software Education Institute. All rights reserved.
Please contact prof. Kwang-Hyun Park (akaii@kw.ac.kr) if you have any problem.