개요
로보이드를 구성하는 디바이스를 찾거나 리스너를 등록 및 제거하는 메소드를 정의합니다.
상속 관계:
퍼블릭 메소드
버전 1.0.0부터
디바이스의 데이터가 갱신되었을 때 호출되도록 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을 반환한다.
파라미터:
반환 값:
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"
파라미터:
반환 값:
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"
파라미터:
반환 값:
버전 1.0.0부터
public abstract String getId()
로보이드의 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부터
등록된 리스너 목록에서 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)에게 연락하세요.