다운로드 교육자료 문제해결 레퍼런스 구입방법

레퍼런스 매뉴얼 : 자바 언어 : 숙련자용 : 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) {
        if(device.getId() == Hamster.LEFT_PROXIMITY) {
            int 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("Light");
버전 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) {
        if(device.getId() == Hamster.LEFT_PROXIMITY) {
            int 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 로봇SW교육원 All rights reserved.
어려운 일이 있으면 광운대학교 로봇학부 박광현 교수(akaii@kw.ac.kr)에게 연락하세요.